|
JavaTM 2 Platform Standard Edition |
|||||||||
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 | +--javax.swing.text.ParagraphView
View of a simple line-wrapping paragraph that supports
multiple fonts, colors, components, icons, etc. It is
basically a vertical box with a margin around it. The
contents of the box are a bunch of rows which are special
horizontal boxes. This view creates a collection of
views that represent the child elements of the paragraph
element. Each of these views are placed into a row
directly if they will fit, otherwise the breakView
method is called to try and carve the view into pieces
that fit.
View
Field Summary | |
protected int |
firstLineIndent
Indentation for the first line, from the left inset. |
Fields inherited from class javax.swing.text.View |
BadBreakWeight,
ExcellentBreakWeight,
ForcedBreakWeight,
GoodBreakWeight,
X_AXIS,
Y_AXIS |
Constructor Summary | |
ParagraphView(Element elem)
Constructs a ParagraphView for the given element. |
Method Summary | |
protected void |
adjustRow(javax.swing.text.ParagraphView.Row r,
int desiredSpan,
int x)
Adjusts the given row if possible to fit within the layout span. |
View |
breakView(int axis,
float len,
Shape a)
Breaks this view on the given axis at the given length. |
protected SizeRequirements |
calculateMinorAxisRequirements(int axis,
SizeRequirements r)
|
void |
changedUpdate(DocumentEvent changes,
Shape a,
ViewFactory f)
Gives notification from the document that attributes were changed in a location that this view is responsible for. |
protected int |
findOffsetToCharactersInString(char[] string,
int start)
Finds the next character in the document with a character in string , starting at offset start . |
protected boolean |
flipEastAndWestAtEnds(int position,
Position.Bias bias)
Subclasses may wish to subclass this and conditionally return true based on the position. |
float |
getAlignment(int axis)
Determines the desired alignment for this view along an axis. |
int |
getBreakWeight(int axis,
float len)
Gets the break weight for a given location. |
protected int |
getClosestPositionTo(int pos,
Position.Bias b,
Shape a,
int direction,
Position.Bias[] biasRet,
int rowIndex,
int x)
Returns the closest model position to x . |
protected View |
getLayoutView(int index)
The child views of the paragraph are rows which have been used to arrange pieces of the Views that represent the child elements. |
protected int |
getLayoutViewCount()
The child views of the paragraph are rows which have been used to arrange pieces of the Views that represent the child elements. |
protected int |
getNextNorthSouthVisualPositionFrom(int pos,
Position.Bias b,
Shape a,
int direction,
Position.Bias[] biasRet)
Overriden from CompositeView. |
protected float |
getPartialSize(int startOffset,
int endOffset)
Returns the size used by the views between startOffset
and endOffset . |
protected float |
getTabBase()
|
protected TabSet |
getTabSet()
Gets the Tabset to be used in calculating tabs. |
protected View |
getViewAtPosition(int pos,
Rectangle a)
Fetches the child view that represents the given position in the model. |
protected int |
getViewIndexAtPosition(int pos)
Fetches the child view index representing the given position in the model. |
void |
insertUpdate(DocumentEvent changes,
Shape a,
ViewFactory f)
Gives notification that something was inserted into the document in a location that this view is responsible for. |
protected void |
layout(int width,
int height)
Lays out the children. |
protected void |
loadChildren(ViewFactory f)
Loads all of the children to initialize the view. |
float |
nextTabStop(float x,
int tabOffset)
Returns the next tab stop position given a reference position. |
void |
paint(Graphics g,
Shape a)
Renders using the given rendering surface and area on that surface. |
void |
removeUpdate(DocumentEvent changes,
Shape a,
ViewFactory f)
Gives notification that something was removed from the document in a location that this view is responsible for. |
protected void |
setFirstLineIndent(float fi)
Set the indent on the first line |
protected void |
setJustification(int j)
Set the type of justification. |
protected void |
setLineSpacing(float ls)
Set the line spacing. |
protected void |
setPropertiesFromAttributes()
|
Methods inherited from class javax.swing.text.BoxView |
baselineLayout,
baselineRequirements,
calculateMajorAxisRequirements,
childAllocation,
getChildAllocation,
getHeight,
getMaximumSpan,
getMinimumSpan,
getOffset,
getPreferredSpan,
getResizeWeight,
getSpan,
getViewAtPoint,
getWidth,
isAfter,
isAllocationValid,
isBefore,
layoutMajorAxis,
layoutMinorAxis,
modelToView,
paintChild,
preferenceChanged,
replace,
setSize,
viewToModel |
Methods inherited from class javax.swing.text.CompositeView |
append,
getBottomInset,
getInsideAllocation,
getLeftInset,
getNextEastWestVisualPositionFrom,
getNextVisualPositionFrom,
getRightInset,
getTopInset,
getView,
getViewCount,
insert,
modelToView,
removeAll,
setInsets,
setParagraphInsets,
setParent |
Methods inherited from class javax.swing.text.View |
breakView,
createFragment,
getAttributes,
getBreakWeight,
getContainer,
getDocument,
getElement,
getEndOffset,
getParent,
getStartOffset,
getViewFactory,
isVisible,
modelToView,
viewToModel |
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
Field Detail |
protected int firstLineIndent
Constructor Detail |
public ParagraphView(Element elem)
elem
- the element that this view is responsible forMethod Detail |
protected void setJustification(int j)
protected void setLineSpacing(float ls)
ls
- the value in pointsprotected void setFirstLineIndent(float fi)
ls
- the value in pointsprotected void setPropertiesFromAttributes()
protected int getLayoutViewCount()
protected View getLayoutView(int index)
protected void loadChildren(ViewFactory f)
setParent
method.
This is reimplemented to not load any children directly
(as they are created in the process of formatting).
This does create views to represent the child elements,
but they are placed into a pool that is used in the
process of formatting.f
- the view factoryprotected View getViewAtPosition(int pos, Rectangle a)
pos
- the search position >= 0a
- the allocation to the box on entry, and the
allocation of the view containing the position on exitprotected int getViewIndexAtPosition(int pos)
pos
- the position >= 0protected void layout(int width, int height)
preferenceChanged
method is called
on the parent since the vertical preference is
rigid.width
- the width to lay out against >= 0. This is
the width inside of the inset area.height
- the height to lay out against >= 0 (not used
by paragraph, but used by the superclass). This
is the height inside of the inset area.protected void adjustRow(javax.swing.text.ParagraphView.Row r, int desiredSpan, int x)
r
- the row to adjust to the current layout
span.desiredSpan
- the current layout span >= 0x
- the location r starts at.public float nextTabStop(float x, int tabOffset)
getTabbedSpan
on the logical children in the process
of layout to determine the desired span of the children. The
logical children can delegate their tab expansion upward to
the paragraph which knows how to expand tabs.
LabelView
is an example of a view that delegates
its tab expansion needs upward to the paragraph.
This is implemented to try and locate a TabSet
in the paragraph element's attribute set. If one can be
found, its settings will be used, otherwise a default expansion
will be provided. The base location for for tab expansion
is the left inset from the paragraphs most recent allocation
(which is what the layout of the children is based upon).
protected TabSet getTabSet()
protected float getPartialSize(int startOffset, int endOffset)
startOffset
and endOffset
. This uses getPartialView to calculate the
size if the child view implements the TabableView interface. If a
size is needed and a View does not implement the TabableView
interface, the preferredSpan will be used.startOffset
- the starting document offset >= 0endOffset
- the ending document offset >= startOffsetprotected int findOffsetToCharactersInString(char[] string, int start)
string
, starting at offset start
. If
there are no characters found, -1 will be returned.string
- the string of charactersstart
- where to start in the model >= 0protected float getTabBase()
protected boolean flipEastAndWestAtEnds(int position, Position.Bias bias)
public void paint(Graphics g, Shape a)
g
- the rendering surface to usea
- the allocated region to render intoView.paint(java.awt.Graphics, java.awt.Shape)
protected SizeRequirements calculateMinorAxisRequirements(int axis, SizeRequirements r)
public float getAlignment(int axis)
axis
- may be either View.X_AXIS or View.Y_AXISpublic View breakView(int axis, float len, Shape a)
ParagraphView instances are breakable along the Y_AXIS only, and only if
len
is after the first line.
axis
- may be either View.X_AXIS or View.Y_AXISlen
- specifies where a potential break is desired
along the given axis >= 0a
- the current allocation of the viewView.breakView(int, int, float, float)
public int getBreakWeight(int axis, float len)
len
is after the first row. If the length
is less than one row, a value of BadBreakWeight is returned.axis
- may be either View.X_AXIS or View.Y_AXISlen
- specifies where a potential break is desired >= 0View.getBreakWeight(int, float, float)
public void insertUpdate(DocumentEvent changes, Shape a, ViewFactory f)
changes
- 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)
public void removeUpdate(DocumentEvent changes, Shape a, ViewFactory f)
changes
- the change information from the associated documenta
- the current allocation of the viewf
- the factory to use to rebuild if the view has childrenView.removeUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)
public void changedUpdate(DocumentEvent changes, Shape a, ViewFactory f)
changes
- the change information from the associated documenta
- the current allocation of the viewf
- the factory to use to rebuild if the view has childrenView.changedUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)
protected int getNextNorthSouthVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet) throws BadLocationException
protected int getClosestPositionTo(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet, int rowIndex, int x) throws BadLocationException
x
.
rowIndex
gives the index of the view that corresponds
that should be looked in.
|
JavaTM 2 Platform Standard Edition |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |