|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--javax.swing.text.View | +--javax.swing.text.CompositeView | +--javax.swing.text.BoxView
A view that arranges its children into a box shape by tiling it's children along an axis. The box is somewhat like that found in TeX where there is alignment of the children, flexibility of the children is considered, etc. This is considered an useful building block that might be useful to represent things like a collection of lines, paragraphs, lists, columns, pages, etc.
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, NORTH, NORTH_EAST, NORTH_WEST, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST |
Constructor Summary | |
BoxView(Element elem,
int axis)
Constructs a BoxView. |
Method Summary | |
protected void |
baselineLayout(int targetSpan,
int axis,
int[] offsets,
int[] spans)
|
protected SizeRequirements |
baselineRequirements(int axis,
SizeRequirements r)
|
protected SizeRequirements |
calculateMajorAxisRequirements(int axis,
SizeRequirements r)
|
protected SizeRequirements |
calculateMinorAxisRequirements(int axis,
SizeRequirements r)
|
protected void |
childAllocation(int index,
Rectangle alloc)
Allocates a region for a child view. |
protected boolean |
flipEastAndWestAtEnds(int position,
Position.Bias bias)
Subclasses may wish to subclass this and conditionally return true based on the position. |
protected void |
forwardUpdate(DocumentEvent.ElementChange ec,
DocumentEvent e,
Shape a,
ViewFactory f)
Forward the given DocumentEvent to the child views that need to be notified of the change to the model. |
float |
getAlignment(int axis)
Determines the desired alignment for this view along an axis. |
int |
getAxis()
Fetch the axis property. |
Shape |
getChildAllocation(int index,
Shape a)
Fetches the allocation for the given child view. |
int |
getHeight()
The current height of the box. |
float |
getMaximumSpan(int axis)
Determines the maximum span for this view along an axis. |
float |
getMinimumSpan(int axis)
Determines the minimum span for this view along an axis. |
protected int |
getOffset(int axis,
int childIndex)
Fetch the offset of a particular childs current layout |
float |
getPreferredSpan(int axis)
Determines the preferred span for this view along an axis. |
int |
getResizeWeight(int axis)
Gets the resize weight. |
protected int |
getSpan(int axis,
int childIndex)
Fetch the span of a particular childs current layout |
protected View |
getViewAtPoint(int x,
int y,
Rectangle alloc)
Fetches the child view at the given point. |
int |
getWidth()
The current width of the box. |
protected boolean |
isAfter(int x,
int y,
Rectangle innerAlloc)
Determines if a point falls after an allocated region. |
protected boolean |
isAllocationValid()
Are the allocations for the children still valid? |
protected boolean |
isBefore(int x,
int y,
Rectangle innerAlloc)
Determines if a point falls before an allocated region. |
protected void |
layout(int width,
int height)
Performs layout of the children. |
void |
layoutChanged(int axis)
Invalidate the layout along an axis. |
protected void |
layoutMajorAxis(int targetSpan,
int axis,
int[] offsets,
int[] spans)
Perform layout for the major axis of the box (i.e. |
protected void |
layoutMinorAxis(int targetSpan,
int axis,
int[] offsets,
int[] spans)
Perform layout for the minor axis of the box (i.e. |
Shape |
modelToView(int pos,
Shape a,
Position.Bias b)
Provides a mapping from the document model coordinate space to the coordinate space of the view mapped to it. |
void |
paint(Graphics g,
Shape allocation)
Renders using the given rendering surface and area on that surface. |
protected void |
paintChild(Graphics g,
Rectangle alloc,
int index)
Paints a child. |
void |
preferenceChanged(View child,
boolean width,
boolean height)
This is called by a child to indicated its preferred span has changed. |
void |
replace(int index,
int length,
View[] elems)
Invalidates the layout and resizes the cache of requests/allocations. |
void |
setAxis(int axis)
Set the axis property. |
void |
setSize(float width,
float height)
Sets the size of the view. |
int |
viewToModel(float x,
float y,
Shape a,
Position.Bias[] bias)
Provides a mapping from the view coordinate space to the logical coordinate space of the model. |
Methods inherited from class javax.swing.text.CompositeView |
getBottomInset, getInsideAllocation, getLeftInset, getNextEastWestVisualPositionFrom, getNextNorthSouthVisualPositionFrom, getNextVisualPositionFrom, getRightInset, getTopInset, getView, getViewAtPosition, getViewCount, getViewIndex, getViewIndexAtPosition, loadChildren, modelToView, setInsets, setParagraphInsets, setParent |
Methods inherited from class javax.swing.text.View |
append, breakView, changedUpdate, createFragment, forwardUpdateToView, getAttributes, getBreakWeight, getContainer, getDocument, getElement, getEndOffset, getGraphics, getParent, getStartOffset, getViewFactory, insert, insertUpdate, isVisible, modelToView, remove, removeAll, removeUpdate, updateChildren, updateLayout, viewToModel |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public BoxView(Element elem, int axis)
elem
- the element this view is responsible foraxis
- either View.X_AXIS or View.Y_AXISMethod Detail |
public int getAxis()
public void setAxis(int axis)
axis
- either View.X_AXIS or View.Y_AXISpublic void layoutChanged(int axis)
axis
- either View.X_AXIS or View.Y_AXISprotected void paintChild(Graphics g, Rectangle alloc, int index)
g
- the graphics contextalloc
- the allocated region to paint intoindex
- the child index, >= 0 && < getViewCount()public void replace(int index, int length, View[] elems)
replace
in class CompositeView
index
- the starting index into the child views to insert
the new views. This should be a value >= 0 and <= getViewCount.length
- the number of existing child views to remove.
This should be a value >= 0 and <= (getViewCount() - offset).views
- the child views to add. This value can be null
to indicate no children are being added (useful to remove).protected void forwardUpdate(DocumentEvent.ElementChange ec, DocumentEvent e, Shape a, ViewFactory f)
forwardUpdate
in class View
ec
- changes to the element this view is responsible
for (may be null if there were no changes).e
- the change information from the associated documenta
- the current allocation of the viewf
- the factory to use to rebuild if the view has childrenView.insertUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)
,
View.removeUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)
,
View.changedUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)
public void preferenceChanged(View child, boolean width, boolean height)
preferenceChanged
in class View
child
- the child viewwidth
- true if the width preference should changeheight
- true if the height preference should changepublic int getResizeWeight(int axis)
getResizeWeight
in class View
axis
- may be either View.X_AXIS or View.Y_AXISIllegalArgumentException
- for an invalid axispublic void setSize(float width, float height)
setSize
in class View
width
- the width >= 0height
- the height >= 0public void paint(Graphics g, Shape allocation)
paint
in class View
g
- the rendering surface to useallocation
- the allocated region to render intoView.paint(java.awt.Graphics, java.awt.Shape)
public Shape getChildAllocation(int index, Shape a)
getChildAllocation
in class CompositeView
index
- the index of the child, >= 0 && < getViewCount()a
- the allocation to this view.public Shape modelToView(int pos, Shape a, Position.Bias b) throws BadLocationException
modelToView
in class CompositeView
pos
- the position to convert >= 0a
- the allocated region to render intoBadLocationException
- if the given position does
not represent a valid location in the associated documentView.modelToView(int, java.awt.Shape, javax.swing.text.Position.Bias)
public int viewToModel(float x, float y, Shape a, Position.Bias[] bias)
viewToModel
in class CompositeView
x
- x coordinate of the view location to convert >= 0y
- y coordinate of the view location to convert >= 0a
- the allocated region to render intoView.viewToModel(float, float, java.awt.Shape, javax.swing.text.Position.Bias[])
public float getAlignment(int axis)
getAlignment
in class View
axis
- may be either View.X_AXIS or View.Y_AXISIllegalArgumentException
- for an invalid axispublic float getPreferredSpan(int axis)
getPreferredSpan
in class View
axis
- may be either View.X_AXIS or View.Y_AXISIllegalArgumentException
- for an invalid axis typepublic float getMinimumSpan(int axis)
getMinimumSpan
in class View
axis
- may be either View.X_AXIS or View.Y_AXISIllegalArgumentException
- for an invalid axis typepublic float getMaximumSpan(int axis)
getMaximumSpan
in class View
axis
- may be either View.X_AXIS or View.Y_AXISIllegalArgumentException
- for an invalid axis typeprotected boolean isAllocationValid()
protected boolean isBefore(int x, int y, Rectangle innerAlloc)
isBefore
in class CompositeView
x
- the X coordinate >= 0y
- the Y coordinate >= 0innerAlloc
- the allocated region. This is the area
inside of the insets.protected boolean isAfter(int x, int y, Rectangle innerAlloc)
isAfter
in class CompositeView
x
- the X coordinate >= 0y
- the Y coordinate >= 0innerAlloc
- the allocated region. This is the area
inside of the insets.protected View getViewAtPoint(int x, int y, Rectangle alloc)
getViewAtPoint
in class CompositeView
x
- the X coordinate >= 0y
- the Y coordinate >= 0alloc
- the parents inner allocation on entry, which should
be changed to the childs allocation on exit.protected void childAllocation(int index, Rectangle alloc)
childAllocation
in class CompositeView
index
- the index of the child view to
allocate, >= 0 && < getViewCount()alloc
- the allocated regionprotected void layout(int width, int height)
width
- the width >= 0height
- the height >= 0public int getWidth()
public int getHeight()
protected void layoutMajorAxis(int targetSpan, int axis, int[] offsets, int[] spans)
targetSpan
- the total span given to the view, which
whould be used to layout the children.axis
- the axis being layed out.offsets
- the offsets from the origin of the view for
each of the child views. This is a return value and is
filled in by the implementation of this method.spans
- the span of each child view. This is a return
value and is filled in by the implementation of this method.protected void layoutMinorAxis(int targetSpan, int axis, int[] offsets, int[] spans)
targetSpan
- the total span given to the view, which
whould be used to layout the children.axis
- the axis being layed out.offsets
- the offsets from the origin of the view for
each of the child views. This is a return value and is
filled in by the implementation of this method.spans
- the span of each child view. This is a return
value and is filled in by the implementation of this method.protected SizeRequirements calculateMajorAxisRequirements(int axis, SizeRequirements r)
protected SizeRequirements calculateMinorAxisRequirements(int axis, SizeRequirements r)
protected void baselineLayout(int targetSpan, int axis, int[] offsets, int[] spans)
protected SizeRequirements baselineRequirements(int axis, SizeRequirements r)
protected int getOffset(int axis, int childIndex)
protected int getSpan(int axis, int childIndex)
protected boolean flipEastAndWestAtEnds(int position, Position.Bias bias)
CompositeView
flipEastAndWestAtEnds
in class CompositeView
javax.swing.text.CompositeView
|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Java, Java 2D, and JDBC are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.