All Packages Class Hierarchy This Package Previous Next Index
Class com.sun.java.swing.text.LabelView
java.lang.Object
|
+----com.sun.java.swing.text.View
|
+----com.sun.java.swing.text.LabelView
- public class LabelView
- extends View
- implements TabableView
Styled chunk of text that represents a view mapped over
an element in the text model. The view supports breaking
for the purpose of formatting. The fragments produced
by breaking share the view that has primary responsibility
for the element (ie they are nested classes and carry only
a small amount of state of their own) so they can share it's
resources.
This view is generally responsible for displaying character
level attributes in some way. Since this view represents
text that may have tabs embedded in it, it implements the
TabableView
interface. Tabs will only be
expanded if this view is embedded in a container that does
tab expansion. ParagraphView is an example of a container
that does tab expansion.
-
LabelView(Element)
- Constructs a new view wrapped on an element.
-
breakView(int, int, float, float)
- Breaks this view on the given axis at the given length.
-
changedUpdate(DocumentEvent, Shape, ViewFactory)
- Gives notification from the document that attributes were changed
in a location that this view is responsible for.
-
createFragment(int, int)
- Create a view that represents a portion of the element.
-
getAlignment(int)
- Determines the desired alignment for this view along an
axis.
-
getBreakWeight(int, float, float)
- Determines how attractive a break opportunity in
this view is.
-
getPartialSpan(int, int)
- Determine the span along the same axis as tab
expansion for a portion of the view.
-
getPreferredSpan(int)
- Determines the preferred span for this view along an
axis.
-
getTabbedSpan(float, TabExpander)
- Determines the desired span when using the given
tab expansion implementation.
-
modelToView(int, Shape)
- Provides a mapping from the document model coordinate space
to the coordinate space of the view mapped to it.
-
paint(Graphics, Shape)
- Renders a portion of a text style run.
-
viewToModel(float, float, Shape)
- Provides a mapping from the view coordinate space to the logical
coordinate space of the model.
LabelView
public LabelView(Element elem)
- Constructs a new view wrapped on an element.
- Parameters:
- elem - the element
getTabbedSpan
public float getTabbedSpan(float x,
TabExpander e)
- Determines the desired span when using the given
tab expansion implementation.
- Parameters:
- x - the position the view would be located
at for the purpose of tab expansion.
- e - how to expand the tabs when encountered.
- Returns:
- the desired span
- See Also:
- getTabbedSpan
getPartialSpan
public float getPartialSpan(int p0,
int p1)
- Determine the span along the same axis as tab
expansion for a portion of the view. This is
intended for use by the TabExpander for cases
where the tab expansion involves aligning the
portion of text that doesn't have whitespace
relative to the tab stop. There is therefore
an assumption that the range given does not
contain tabs.
This method can be called while servicing the
getTabbedSpan or getPreferredSize. It has to
arrange for it's own text buffer to make the
measurements.
paint
public void paint(Graphics g,
Shape a)
- Renders a portion of a text style run.
- Parameters:
- g - the rendering surface to use
- a - the allocated region to render into
- Overrides:
- paint in class View
getPreferredSpan
public float getPreferredSpan(int axis)
- Determines the preferred span for this view along an
axis.
- Parameters:
- axis - may be either X_AXIS or Y_AXIS
- Returns:
- s the span the view would like to be rendered into.
Typically the view is told to render into the span
that is returned, although there is no guarantee.
The parent may choose to resize or break the view.
- Overrides:
- getPreferredSpan in class View
getAlignment
public float getAlignment(int axis)
- Determines the desired alignment for this view along an
axis. For the label, the alignment is along the font
baseline for the y axis, and the superclasses alignment
along the x axis.
- Parameters:
- axis - may be either X_AXIS or Y_AXIS
- Returns:
- s the desired alignment. This should be a value
between 0.0 and 1.0 where 0 indicates alignment at the
origin and 1.0 indicates alignment to the full span
away from the origin. An alignment of 0.5 would be the
center of the view.
- Overrides:
- getAlignment in class View
modelToView
public Shape modelToView(int pos,
Shape a) throws BadLocationException
- Provides a mapping from the document model coordinate space
to the coordinate space of the view mapped to it.
- Parameters:
- pos - the position to convert
- a - the allocated region to render into
- Returns:
- the bounding box of the given position
- Throws: BadLocationException
- if the given position does not represent a
valid location in the associated document
- Overrides:
- modelToView in class View
- See Also:
- modelToView
viewToModel
public int viewToModel(float x,
float y,
Shape a)
- Provides a mapping from the view coordinate space to the logical
coordinate space of the model.
- Parameters:
- x - the X coordinate
- y - the Y coordinate
- a - the allocated region to render into
- Returns:
- the location within the model that best represents the
given point of view
- Overrides:
- viewToModel in class View
- See Also:
- viewToModel
changedUpdate
public void changedUpdate(DocumentEvent e,
Shape a,
ViewFactory f)
- Gives notification from the document that attributes were changed
in a location that this view is responsible for.
- Parameters:
- e - the change information from the associated document
- a - the current allocation of the view
- f - the factory to use to rebuild if the view has children
- Overrides:
- changedUpdate in class View
- See Also:
- changedUpdate
getBreakWeight
public int getBreakWeight(int axis,
float pos,
float len)
- Determines how attractive a break opportunity in
this view is. This can be used for determining which
view is the most attractive to call
breakView
on in the process of formatting. The
higher the weight, the more attractive the break. A
value equal to or lower than BadBreakWeight
should not be considered for a break. A value greater
than or equal to ForcedBreakWeight
should
be broken.
This is implemented to forward to the superclass for
the Y_AXIS and along the X_AXIS the following values
may be returned.
- ExcellentBreakWeight
- if there is whitespace proceeding the desired break
location.
- BadBreakWeight
- if the desired break location results in a break
location of the starting offset.
- GoodBreakWeight
- if the other conditions don't occur.
This will normally result in the behavior of breaking
on a whitespace location if one can be found, otherwise
breaking between characters.
- Parameters:
- axis - may be either X_AXIS or Y_AXIS
- pos - the potential location of the start of the
broken view. This may be useful for calculating tab
positions.
- len - specifies the relative length from pos
where a potential break is desired.
- Returns:
- the weight, which should be a value between
ForcedBreakWeight and BadBreakWeight.
- Overrides:
- getBreakWeight in class View
- See Also:
- LabelView, ParagraphView, BadBreakWeight, GoodBreakWeight, ExcellentBreakWeight, ForcedBreakWeight
breakView
public View breakView(int axis,
int p0,
float pos,
float len)
- Breaks this view on the given axis at the given length.
This is implemented to attempt to break on a whitespace
location, and returns a fragment with the whitespace at
the end. If a whitespace location can't be found, the
nearest character is used.
- Parameters:
- axis - may be either X_AXIS or Y_AXIS
- p0 - the location in the model where the
fragment should start it's representation.
- pos - the position along the axis that the
broken view would occupy. This may be useful for
things like tab calculations.
- len - specifies the distance along the axis
where a potential break is desired.
- a - the current allocation of the view
- Returns:
- the fragment of the view that represents the
given span, if the view can be broken. If the view
doesn't support breaking behavior, the view itself is
returned.
- Overrides:
- breakView in class View
- See Also:
- breakView
createFragment
public View createFragment(int p0,
int p1)
- Create a view that represents a portion of the element.
This is potentially useful during formatting operations
for taking measurements of fragments of the view. If
the view doesn't support fragmenting (the default), it
should return itself.
This view does support fragmenting. It is implemented
to return a nested class that shares state in this view
representing only a portion of the view.
- Parameters:
- p0 - the starting offset. This should be a value
greater or equal to the element starting offset and
less than the element ending offset.
- p1 - the ending offset. This should be a value
less than or equal to the elements end offset and
greater than the elements starting offset.
- Returns:
- s the view fragment, or itself if the view doesn't
support breaking into fragments.
- Overrides:
- createFragment in class View
- See Also:
- LabelView
All Packages Class Hierarchy This Package Previous Next Index