|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjavax.swing.text.View
javax.swing.text.CompositeView
javax.swing.text.BoxView
javax.swing.text.FlowView
public abstract class FlowView
A View
that can flows it's children into it's layout space.
The FlowView
manages a set of logical views (that are
the children of the layoutPool
field). These are translated
at layout time into a set of physical views. These are the views that
are managed as the real child views. Each of these child views represents
a row and are laid out within a box using the superclasses behaviour.
The concrete implementation of the rows must be provided by subclasses.
Nested Class Summary | |
---|---|
static class |
FlowView.FlowStrategy
A strategy for translating the logical views of a FlowView
into the real views. |
Field Summary | |
---|---|
protected View |
layoutPool
Represents the logical child elements of this view, encapsulated within one parent view (an instance of a package private LogicalView
class). |
protected int |
layoutSpan
The span of the FlowView that should be flowed. |
protected FlowView.FlowStrategy |
strategy
The FlowStrategy to use for translating between the
logical and physical view. |
Fields inherited from class javax.swing.text.View |
---|
BadBreakWeight, ExcellentBreakWeight, ForcedBreakWeight, GoodBreakWeight, X_AXIS, Y_AXIS |
Fields inherited from interface javax.swing.SwingConstants |
---|
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST |
Constructor Summary | |
---|---|
FlowView(Element element,
int axis)
Creates a new FlowView for the given
Element and axis . |
Method Summary | |
---|---|
protected SizeRequirements |
calculateMinorAxisRequirements(int axis,
SizeRequirements r)
Calculates the size requirements of this BoxView along
its minor axis, that is the axis opposite to the axis specified in the
constructor. |
void |
changedUpdate(DocumentEvent changes,
Shape a,
ViewFactory vf)
Receice notification that some attributes changed in the region that this view is responsible for. |
protected abstract View |
createRow()
Creates a new view that represents a row within a flow. |
int |
getFlowAxis()
Returns the axis along which the view should be flowed. |
int |
getFlowSpan(int index)
Returns the span of the flow for the specified child view. |
int |
getFlowStart(int index)
Returns the location along the flow axis where the flow span starts given a child view index. |
protected int |
getViewIndexAtPosition(int pos)
Returns the index of the child View for the given model
position. |
void |
insertUpdate(DocumentEvent changes,
Shape a,
ViewFactory vf)
Receice notification that some content has been inserted in the region that this view is responsible for. |
protected void |
layout(int width,
int height)
Performs the layout of this view. |
protected void |
loadChildren(ViewFactory vf)
Loads the children of this view. |
void |
removeUpdate(DocumentEvent changes,
Shape a,
ViewFactory vf)
Receice notification that some content has been removed from the region that this view is responsible for. |
Methods inherited from class javax.swing.text.BoxView |
---|
baselineLayout, baselineRequirements, calculateMajorAxisRequirements, childAllocation, flipEastAndWestAtEnds, forwardUpdate, getAlignment, getAxis, getChildAllocation, getHeight, getMaximumSpan, getMinimumSpan, getOffset, getPreferredSpan, getResizeWeight, getSpan, getViewAtPoint, getWidth, isAfter, isAllocationValid, isBefore, isLayoutValid, layoutChanged, layoutMajorAxis, layoutMinorAxis, modelToView, paint, paintChild, preferenceChanged, replace, setAxis, setSize, viewToModel |
Methods inherited from class javax.swing.text.CompositeView |
---|
getBottomInset, getInsideAllocation, getLeftInset, getNextEastWestVisualPositionFrom, getNextNorthSouthVisualPositionFrom, getNextVisualPositionFrom, getRightInset, getTopInset, getView, getViewAtPosition, getViewCount, getViewIndex, modelToView, setInsets, setParagraphInsets, setParent |
Methods inherited from class javax.swing.text.View |
---|
append, breakView, createFragment, dump, forwardUpdateToView, getAttributes, getBreakWeight, getContainer, getDocument, getElement, getEndOffset, getGraphics, getParent, getStartOffset, getToolTipText, getViewFactory, getViewIndex, insert, isVisible, modelToView, remove, removeAll, updateChildren, updateLayout, viewToModel |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected int layoutSpan
FlowView
that should be flowed.
protected View layoutPool
LogicalView
class). These will be translated to a set of real views that are then
displayed on screen. This translation is performed by the inner class
FlowView.FlowStrategy
.
protected FlowView.FlowStrategy strategy
FlowStrategy
to use for translating between the
logical and physical view.
Constructor Detail |
---|
public FlowView(Element element, int axis)
FlowView
for the given
Element
and axis
.
element
- the element that is rendered by this FlowViewaxis
- the axis along which the view is tiled, either
View.X_AXIS
or View.Y_AXIS
, the flow
axis is orthogonal to this oneMethod Detail |
---|
public int getFlowAxis()
public int getFlowSpan(int index)
index
- the index of the child for which to return the span
public int getFlowStart(int index)
index
- the index of the child for which to return the flow location
protected abstract View createRow()
protected void loadChildren(ViewFactory vf)
FlowView
does not
directly load its children. Instead it creates a logical view
(layoutPool
) which is filled by the logical child views.
The real children are created at layout time and each represent one
row.
This method is called by View.setParent(javax.swing.text.View)
in order to initialize
the view.
loadChildren
in class CompositeView
vf
- the view factory to use for creating the child viewsCompositeView.setParent(javax.swing.text.View)
protected void layout(int width, int height)
FlowView.FlowStrategy.layout(javax.swing.text.FlowView)
in order to rebuild the
rows of this view. Then the superclass's behaviour is called to arrange
the rows within the box.
layout
in class BoxView
width
- the width of the viewheight
- the height of the viewpublic void insertUpdate(DocumentEvent changes, Shape a, ViewFactory vf)
FlowView.FlowStrategy.insertUpdate(javax.swing.text.FlowView, javax.swing.event.DocumentEvent, java.awt.Rectangle)
.
insertUpdate
in class View
changes
- the document event describing the changesa
- the current allocation of the viewvf
- the view factory that is used for creating new child viewspublic void removeUpdate(DocumentEvent changes, Shape a, ViewFactory vf)
FlowView.FlowStrategy.removeUpdate(javax.swing.text.FlowView, javax.swing.event.DocumentEvent, java.awt.Rectangle)
.
removeUpdate
in class View
changes
- the document event describing the changesa
- the current allocation of the viewvf
- the view factory that is used for creating new child viewspublic void changedUpdate(DocumentEvent changes, Shape a, ViewFactory vf)
FlowView.FlowStrategy.changedUpdate(javax.swing.text.FlowView, javax.swing.event.DocumentEvent, java.awt.Rectangle)
.
changedUpdate
in class View
changes
- the document event describing the changesa
- the current allocation of the viewvf
- the view factory that is used for creating new child viewsprotected int getViewIndexAtPosition(int pos)
View
for the given model
position.
This is implemented to iterate over the children of this
view (the rows) and return the index of the first view that contains
the given position.
getViewIndexAtPosition
in class CompositeView
pos
- the model position for whicht the child View
is
queried
View
for the given model
positionprotected SizeRequirements calculateMinorAxisRequirements(int axis, SizeRequirements r)
BoxView
along
its minor axis, that is the axis opposite to the axis specified in the
constructor.
This is overridden and forwards the request to the logical view.
calculateMinorAxisRequirements
in class BoxView
axis
- the axis that is examinedr
- the SizeRequirements
object to hold the result,
if null
, a new one is created
BoxView
along
the specified axis
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |