java.lang.Objectjavax.swing.text.View
javax.swing.text.CompositeView
javax.swing.text.BoxView
javax.swing.text.FlowView
javax.swing.text.ParagraphView
public class 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.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class javax.swing.text. FlowView |
---|
FlowView.FlowStrategy |
Field Summary | |
---|---|
protected int |
firstLineIndent
Indentation for the first line, from the left inset. |
Fields inherited from class javax.swing.text. FlowView |
---|
layoutPool , layoutSpan , strategy |
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 | |
---|---|
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. |
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 View |
createRow
() Create a View that should be used to hold a a row's worth of children in a flow. |
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) Determines in which direction the next view lays. |
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. |
int |
getFlowSpan
(int index) Fetches the constraining span to flow against for the given child index. |
int |
getFlowStart
(int index) Fetches the location along the flow axis that the flow span will start at. |
protected View |
getLayoutView
(int index) Returns the view at a given index. |
protected int |
getLayoutViewCount
() Returns the number of views that this view is responsible for. |
protected int |
getNextNorthSouthVisualPositionFrom
(int pos,
Position.Bias
b,
Shape
a, int direction,
Position.Bias
[] biasRet) Returns the next visual position for the cursor, in either the east or west direction. |
protected float |
getPartialSize
(int startOffset, int endOffset) Returns the size used by the views between startOffset and endOffset. |
protected float |
getTabBase
() Returns where the tabs are calculated from. |
protected TabSet |
getTabSet
() Gets the Tabset to be used in calculating tabs. |
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. |
protected void |
setFirstLineIndent
(float fi) Sets the indent on the first line. |
protected void |
setJustification
(int j) Sets the type of justification. |
protected void |
setLineSpacing
(float ls) Sets the line spacing. |
protected void |
setPropertiesFromAttributes
() Set the cached properties from the attributes. |
Methods inherited from class javax.swing.text. FlowView |
---|
calculateMinorAxisRequirements , getFlowAxis , getViewIndexAtPosition , insertUpdate , layout , loadChildren , removeUpdate , setParent |
Methods inherited from class javax.swing.text. BoxView |
---|
baselineLayout , baselineRequirements , calculateMajorAxisRequirements , childAllocation , forwardUpdate , getAxis , getChildAllocation , getHeight , getMaximumSpan , getMinimumSpan , getOffset , getPreferredSpan , getResizeWeight , getSpan , getViewAtPoint , getWidth , isAfter , isAllocationValid , isBefore , isLayoutValid , layoutChanged , layoutMajorAxis , layoutMinorAxis , modelToView , paintChild , preferenceChanged , replace , setAxis , setSize , viewToModel |
Methods inherited from class javax.swing.text. CompositeView |
---|
getBottomInset , getInsideAllocation , getLeftInset , getNextEastWestVisualPositionFrom , getNextVisualPositionFrom , getRightInset , getTopInset , getView , getViewAtPosition , getViewCount , getViewIndex , modelToView , setInsets , setParagraphInsets |
Methods inherited from class javax.swing.text. View |
---|
append , breakView , createFragment , 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 firstLineIndent
Constructor Detail |
---|
public ParagraphView(Element elem)
Method Detail |
---|
protected void setJustification(int j)
protected void setLineSpacing(float ls)
protected void setFirstLineIndent(float fi)
protected void setPropertiesFromAttributes()
protected int getLayoutViewCount()
protected View getLayoutView(int index)
protected void adjustRow(javax.swing.text.ParagraphView.Row r, int desiredSpan, int x)
This is meant for internal usage, and should not be used directly.
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
protected boolean flipEastAndWestAtEnds(int position, Position.Bias bias)
This will return true if the text is layed out right to left at position, otherwise false.
public int getFlowSpan(int index)
public int getFlowStart(int index)
protected View createRow()
public float nextTabStop(float x, int tabOffset)
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)
protected int findOffsetToCharactersInString(char[] string, int start)
protected float getTabBase()
public void paint(Graphics g, Shape a)
public float getAlignment(int axis)
public 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.
public int getBreakWeight(int axis, float len)
ParagraphView instances are breakable along the Y_AXIS only, and only if len is after the first row. If the length is less than one row, a value of BadBreakWeight is returned.
public void changedUpdate(DocumentEvent changes, Shape a, ViewFactory f)