javax.swing.text
public class ComponentView extends View
View
implementation that is able to render arbitrary
Component
s. This uses the attribute
StyleConstants.ComponentAttribute
to determine the
Component
that should be rendered. This Component
becomes a direct child of the JTextComponent
that contains
this ComponentView
, so this view must not be shared between
multiple JTextComponent
s.BadBreakWeight, ExcellentBreakWeight, ForcedBreakWeight, GoodBreakWeight, X_AXIS, Y_AXIS
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
Constructor and Description |
---|
ComponentView(Element elem)
Creates a new instance of
ComponentView for the specified
Element . |
Modifier and Type | Method and Description |
---|---|
protected Component |
createComponent()
Creates the
Component that this View is
rendering. |
float |
getAlignment(int axis)
Returns the alignment of this
View along the specified axis. |
Component |
getComponent()
Returns the
Component that is rendered by this
ComponentView . |
float |
getMaximumSpan(int axis)
Returns the maximum span of this
View along the specified
axis. |
float |
getMinimumSpan(int axis)
Returns the minimum span along the specified axis.
|
float |
getPreferredSpan(int axis)
Returns the preferred span along the specified axis.
|
Shape |
modelToView(int pos,
Shape a,
Position.Bias b)
Maps a position in the document into the coordinate space of the View.
|
void |
paint(Graphics g,
Shape a)
The real painting behavour is performed by normal component painting,
triggered by the text component that hosts this view.
|
void |
setParent(View p)
This sets up the component when the view is added to its parent, or
cleans up the view when it is removed from its parent.
|
int |
viewToModel(float x,
float y,
Shape a,
Position.Bias[] b)
Maps coordinates from the
View 's space into a position
in the document model. |
append, breakView, changedUpdate, createFragment, dump, forwardUpdate, forwardUpdateToView, getAttributes, getBreakWeight, getChildAllocation, getContainer, getDocument, getElement, getEndOffset, getGraphics, getNextVisualPositionFrom, getParent, getResizeWeight, getStartOffset, getToolTipText, getView, getViewCount, getViewFactory, getViewIndex, getViewIndex, insert, insertUpdate, isVisible, modelToView, modelToView, preferenceChanged, remove, removeAll, removeUpdate, replace, setSize, updateChildren, updateLayout, viewToModel
public ComponentView(Element elem)
ComponentView
for the specified
Element
.elem
- the element that this View
is renderingprotected Component createComponent()
Component
that this View
is
rendering. The Component
is determined using
the StyleConstants.ComponentAttribute
of the associated
Element
.public float getAlignment(int axis)
View
along the specified axis.getAlignment
in class View
axis
- either View.X_AXIS
or View.Y_AXIS
View
along the specified axispublic final Component getComponent()
Component
that is rendered by this
ComponentView
.Component
that is rendered by this
ComponentView
public float getMaximumSpan(int axis)
View
along the specified
axis.
This will return Component.getMaximumSize()
for the specified
axis.getMaximumSpan
in class View
axis
- the axisView
along the specified
axispublic float getMinimumSpan(int axis)
View
View.getPreferredSpan(int)
unless View.getResizeWeight(int)
returns a value > 0, in which case this returns 0
.getMinimumSpan
in class View
axis
- the axispublic float getPreferredSpan(int axis)
View
getPreferredSpan
in class View
axis
- the axispublic Shape modelToView(int pos, Shape a, Position.Bias b) throws BadLocationException
View
modelToView
in class View
pos
- the position of the character in the modela
- the area that is occupied by the viewb
- either Position.Bias.Forward
or
Position.Bias.Backward
depending on the preferred
direction bias. If null
this defaults to
Position.Bias.Forward
BadLocationException
- if pos
is invalidpublic void paint(Graphics g, Shape a)
public void setParent(View p)
p
is
null
, then the view is removed from it's parent and we have
to also remove the component from it's parent container.public int viewToModel(float x, float y, Shape a, Position.Bias[] b)
View
's space into a position
in the document model.viewToModel
in class View
x
- the x coordinate in the view spacey
- the y coordinate in the view spacea
- the allocation of this View
b
- the bias to usex, y