Class java.awt.swing.text.LabelView
java.lang.Object
|
+----java.awt.swing.text.View
|
+----java.awt.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.
Constructor Summary
|
LabelView(Element elem)
Constructs a new view wrapped on an element.
|
Method Summary
|
View
|
breakView(int axis,
int p0,
float pos,
float len)
Breaks this view on the given axis at the given length.
|
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.
|
View
|
createFragment(int p0,
int p1)
Create a view that represents a portion of the element.
|
float
|
getAlignment(int axis)
Determines the desired alignment for this view along an
axis.
|
int
|
getBreakWeight(int axis,
float pos,
float len)
Determines how attractive a break opportunity in
this view is.
|
float
|
getPartialSpan(int p0,
int p1)
Determine the span along the same axis as tab
expansion for a portion of the view.
|
float
|
getPreferredSpan(int axis)
Determines the preferred span for this view along an
axis.
|
float
|
getTabbedSpan(float x,
TabExpander e)
Determines the desired span when using the given
tab expansion implementation.
|
Shape
|
modelToView(int pos,
Shape a)
Provides a mapping from the document model coordinate space
to the coordinate space of the view mapped to it.
|
void
|
paint(Graphics g,
Shape a)
Renders a portion of a text style run.
|
int
|
viewToModel(float x,
float y,
Shape a)
Provides a mapping from the view coordinate space to the logical
coordinate space of the model.
|
Methods inherited from class java.awt.swing.text.View
|
breakView, changedUpdate, createFragment, getAlignment, getBreakWeight, getChildAllocation, getContainer, getDocument, getElement, getEndOffset, getParent, getPreferredSpan, getResizeWeight, getStartOffset, getView, getViewCount, getViewFactory, insertUpdate, modelToView, paint, preferenceChanged, removeUpdate, setParent, setSize, viewToModel |
Methods inherited from class java.lang.Object
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
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.
- Implements:
- getTabbedSpan in interface TabableView
- 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.
- Implements:
- getPartialSpan in interface TabableView
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
- 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
- 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.
- Overrides:
- createFragment in class View
- See Also:
- LabelView
Submit a bug or feature
Submit comments/suggestions about new javadoc look.
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, California, 94303, U.S.A. All Rights Reserved.