public class ComponentView extends View
View implementation that is able to render arbitrary
Components. 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 JTextComponents.BadBreakWeight, ExcellentBreakWeight, ForcedBreakWeight, GoodBreakWeight, X_AXIS, Y_AXISBOTTOM, 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, viewToModelpublic 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 Viewaxis - either View.X_AXIS or View.Y_AXISView along the specified axispublic final Component getComponent()
Component that is rendered by this
ComponentView.Component that is rendered by this
ComponentViewpublic float getMaximumSpan(int axis)
View along the specified
axis.
This will return Component.getMaximumSize() for the specified
axis.getMaximumSpan in class Viewaxis - the axisView along the specified
axispublic float getMinimumSpan(int axis)
ViewView.getPreferredSpan(int) unless View.getResizeWeight(int)
returns a value > 0, in which case this returns 0.getMinimumSpan in class Viewaxis - the axispublic float getPreferredSpan(int axis)
ViewgetPreferredSpan in class Viewaxis - the axispublic Shape modelToView(int pos, Shape a, Position.Bias b) throws BadLocationException
ViewmodelToView in class Viewpos - 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.ForwardBadLocationException - 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 Viewx - the x coordinate in the view spacey - the y coordinate in the view spacea - the allocation of this Viewb - the bias to usex, y