javax.swing.text
public class BoxView extends CompositeView
BoxLayout
works, but for View
children.
Constructor Summary | |
---|---|
BoxView(Element element, int axis)
Creates a new BoxView for the given
Element and axis. |
Method Summary | |
---|---|
protected void | baselineLayout(int span, int axis, int[] offsets, int[] spans)
Calculates the baseline layout of the children of this
BoxView along the specified axis.
|
protected SizeRequirements | baselineRequirements(int axis, SizeRequirements sr)
Calculates size requirements for a baseline layout. |
protected SizeRequirements | calculateMajorAxisRequirements(int axis, SizeRequirements sr)
Calculates the size requirements of this BoxView along
its major axis, that is the axis specified in the constructor.
|
protected SizeRequirements | calculateMinorAxisRequirements(int axis, SizeRequirements sr)
Calculates the size requirements of this BoxView along
its minor axis, that is the axis opposite to the axis specified in the
constructor.
|
protected void | childAllocation(int index, Rectangle a)
Computes the allocation for a child View . |
protected boolean | flipEastAndWestAtEnds(int position, Position.Bias bias) |
protected void | forwardUpdate(DocumentEvent.ElementChange ec, DocumentEvent e, Shape a, ViewFactory vf) |
float | getAlignment(int axis)
Returns the alignment for this box view for the specified axis. |
int | getAxis()
Returns the axis along which this BoxView is laid out.
|
Shape | getChildAllocation(int index, Shape a)
Returns the child allocation for the child view with the specified
index . |
int | getHeight()
Return the current height of the box. |
float | getMaximumSpan(int axis)
Returns the maximum span of this view along the specified axis.
|
float | getMinimumSpan(int axis)
Returns the minimum span of this view along the specified axis.
|
protected int | getOffset(int axis, int childIndex)
Returns the offset for the child view with the given index for the
specified axis.
|
float | getPreferredSpan(int axis)
Returns the preferred span of the content managed by this
View along the specified axis .
|
int | getResizeWeight(int axis)
Returns the resize weight of this view. |
protected int | getSpan(int axis, int childIndex)
Returns the span for the child view with the given index for the specified
axis.
|
protected View | getViewAtPoint(int x, int y, Rectangle r)
Returns the child View at the specified location.
|
int | getWidth()
Return the current width of the box. |
protected boolean | isAfter(int x, int y, Rectangle r)
Returns true if the specified point lies after the
given Rectangle , false otherwise.
|
protected boolean | isAllocationValid()
Returns true if the cached allocations for the children
are still valid, false otherwise.
|
protected boolean | isBefore(int x, int y, Rectangle r)
Returns true if the specified point lies before the
given Rectangle , false otherwise.
|
protected boolean | isLayoutValid(int axis)
Returns true if the layout along the specified
axis is valid, false otherwise.
|
protected void | layout(int width, int height)
Lays out the children of this BoxView with the specified
bounds.
|
void | layoutChanged(int axis)
Marks the layout along the specified axis as invalid. |
protected void | layoutMajorAxis(int targetSpan, int axis, int[] offsets, int[] spans)
Performs the layout along the major axis of a BoxView .
|
protected void | layoutMinorAxis(int targetSpan, int axis, int[] offsets, int[] spans)
Performs the layout along the minor axis of a BoxView .
|
Shape | modelToView(int pos, Shape a, Position.Bias bias)
Maps the document model position pos to a Shape
in the view coordinate space. |
void | paint(Graphics g, Shape a)
Renders the Element that is associated with this
View .
|
protected void | paintChild(Graphics g, Rectangle alloc, int index)
Paints the child View at the specified index .
|
void | preferenceChanged(View child, boolean width, boolean height)
Called by a child View when its preferred span has changed.
|
void | replace(int offset, int length, View[] views)
Replaces child views by some other child views. |
void | setAxis(int axis)
Sets the axis along which this BoxView is laid out.
|
void | setSize(float width, float height)
Sets the size of the view. |
int | viewToModel(float x, float y, Shape a, Position.Bias[] bias) |
BoxView
for the given
Element
and axis. Valid values for the axis are
{@link View#X_AXIS} and {@link View#Y_AXIS}.
Parameters: element the element that is rendered by this BoxView axis the axis along which the box is laid out
BoxView
along the specified axis.
This is not used by the BoxView itself, but by subclasses that wish to
perform a baseline layout, like the FlowView's rows.
Parameters: span the target span axis the axis that is examined offsets an empty array, filled with the offsets of the children spans an empty array, filled with the spans of the children
Parameters: axis the axis that is examined sr the SizeRequirements
object to hold the result,
if null
, a new one is created
Returns: the size requirements for this BoxView
along
the specified axis
BoxView
along
its major axis, that is the axis specified in the constructor.
Parameters: axis the axis that is examined sr the SizeRequirements
object to hold the result,
if null
, a new one is created
Returns: the size requirements for this BoxView
along
the specified axis
BoxView
along
its minor axis, that is the axis opposite to the axis specified in the
constructor.
Parameters: axis the axis that is examined sr the SizeRequirements
object to hold the result,
if null
, a new one is created
Returns: the size requirements for this BoxView
along
the specified axis
View
. The parameter
a
stores the allocation of this CompositeView
and is then adjusted to hold the allocation of the child view.
Parameters: index
the index of the child View
a
the allocation of this CompositeView
before the
call, the allocation of the child on exit
Parameters: axis the axis which is examined
Returns: the alignment for this box view for the specified axis
BoxView
is laid out.
Returns: the axis along which this BoxView
is laid out
Since: 1.3
index
. If the layout is invalid, this returns
null
.
Parameters: index the child view index a the allocation to this view
Returns: the child allocation for the child view with the specified
index
or null
if the layout is invalid
or a
is null
Returns: the current height of the box
Integer.MAX_VALUE
for the minor axis
and the preferred span for the major axis.
Parameters: axis the axis
Returns: the maximum span of this view along the specified axis
Parameters: axis the axis
Returns: the minimum span of this view along the specified axis
Parameters: axis the axis to examine, either X_AXIS
or
Y_AXIS
childIndex the index of the child for for which to return the span
Returns: the offset for the child view with the given index for the specified axis
View
along the specified axis
.
Parameters: axis the axis
Returns: the preferred span of this View
.
0
or less
means this view is not resizeable. Positive values make the view
resizeable. This implementation returns 0
for the major
axis and 1
for the minor axis of this box view.
Parameters: axis the axis
Returns: the resizability of this view along the specified axis
Throws: IllegalArgumentException if axis
is invalid
Parameters: axis the axis to examine, either X_AXIS
or
Y_AXIS
childIndex the index of the child for for which to return the span
Returns: the span for the child view with the given index for the specified axis
View
at the specified location.
Parameters: x the X coordinate y the Y coordinate r the inner allocation of this BoxView
on entry,
the allocation of the found child on exit
Returns: the child View
at the specified location
Returns: the current width of the box
true
if the specified point lies after the
given Rectangle
, false
otherwise.
"After" is typically defined as being to the right or below.
Parameters: x the X coordinate of the point y the Y coordinate of the point r the rectangle to test the point against
Returns: true
if the specified point lies after the
given Rectangle
, false
otherwise
true
if the cached allocations for the children
are still valid, false
otherwise.
Returns: true
if the cached allocations for the children
are still valid, false
otherwise
true
if the specified point lies before the
given Rectangle
, false
otherwise.
"Before" is typically defined as being to the left or above.
Parameters: x the X coordinate of the point y the Y coordinate of the point r the rectangle to test the point against
Returns: true
if the specified point lies before the
given Rectangle
, false
otherwise
true
if the layout along the specified
axis
is valid, false
otherwise.
Valid values for the axis are {@link View#X_AXIS} and
{@link View#Y_AXIS}.
Parameters: axis the axis
Returns: true
if the layout along the specified
axis
is valid, false
otherwise
Since: 1.4
BoxView
with the specified
bounds.
Parameters: width the width of the allocated region for the children (that
is the inner allocation of this BoxView
height the height of the allocated region for the children (that
is the inner allocation of this BoxView
Parameters: axis an int
value
Since: 1.3
BoxView
.
Parameters: targetSpan the (inner) span of the BoxView
in which
to layout the children axis the axis along which the layout is performed offsets the array that holds the offsets of the children on exit spans the array that holds the spans of the children on exit
BoxView
.
Parameters: targetSpan the (inner) span of the BoxView
in which
to layout the children axis the axis along which the layout is performed offsets the array that holds the offsets of the children on exit spans the array that holds the spans of the children on exit
pos
to a Shape
in the view coordinate space. This method overrides CompositeView's
method to make sure the children are allocated properly before
calling the super's behaviour.Element
that is associated with this
View
.
Parameters: g the Graphics
context to render to a the allocated region for the Element
View
at the specified index
.
This method modifies the actual values in alloc
so make
sure you have a copy of the original values if you need them.
Parameters: g the Graphics
context to paint to alloc the allocated region for the child to paint into index the index of the child to be painted
See Also: BoxView
Parameters: width indicates that the preferred width of the child changed. height indicates that the preferred height of the child changed. child the child View.
length == 0
), the result is a simple insert, if
there are no children to add (view == null
) the result
is a simple removal.
In addition this invalidates the layout and resizes the internal cache
for the child allocations. The old children's cached allocations can
still be accessed (although they are not guaranteed to be valid), and
the new children will have an initial offset and span of 0.
Parameters: offset the start offset from where to remove children length the number of children to remove views the views that replace the removed children
BoxView
is laid out.
Valid values for the axis are {@link View#X_AXIS} and
{@link View#Y_AXIS}.
Parameters: axis the axis along which this BoxView
is laid out
Since: 1.3
Parameters: width the new width height the new height