public class IlvReliefLabel extends IlvReliefRectangle implements IlvFontInterface, IlvLabelInterface
IlvReliefLabel
represents a labeled rectangle in relief with
customizable fill and text colors.
The default values for an IlvReliefLabel
instance are as
follows:
Color.black
Color.black
IlvRect(0, 0, 100, 100)
2
IlvToolkit.defaultFont
The default foreground and background colors are black. You must change one of these colors for the label to be visible.
Note: calls to the following methods result in a
RuntimeException
being thrown:
setCorners(int)
setFillOn(boolean)
setRadius(int)
setStrokeOn(boolean)
The following code example shows how to use an IlvReliefLabel
in a
simple Java application:
IlvManager manager = new IlvManager(); IlvReliefLabel myDefaultRect = new IlvReliefLabel(); myDefaultRect.setLabel("Default Relief Label"); IlvReliefLabel myCustomRect = new IlvReliefLabel( new IlvRect(120,100,80,20), "Custom Relief Label", 6); myCustomRect.setForeground(Color.blue); myCustomRect.setBackground(Color.yellow); manager.addObject( myDefaultRect, true); manager.addObject( myCustomRect, true);
The following image shows the graphic objects created in the code example:
>
IlvReliefLabel
is a custom graphic object, that is, a subclass of
IlvGraphic
. Graphic objects are controlled using an
IlvManager
instance and displayed using one or more
IlvManagerView
instances in a Java Swing application.
For information about generic features for graphic objects, see
IlvGraphic.
IlvRect
,
IlvManager
,
IlvManagerView
,
Serialized FormBOTTOM_LEFT, BOTTOM_RIGHT, drawrect, TOP_LEFT, TOP_RIGHT
Constructor and Description |
---|
IlvReliefLabel()
Creates a new
IlvReliefLabel with default size of
(0, 0, 100, 100) and an empty label. |
IlvReliefLabel(IlvInputStream stream)
Reads the object from an
IlvInputStream . |
IlvReliefLabel(IlvPoint at,
String label,
int thickness)
Creates a new
IlvReliefLabel . |
IlvReliefLabel(IlvRect rect,
String label)
Creates a new
IlvReliefLabel . |
IlvReliefLabel(IlvRect rect,
String label,
int thickness)
Creates a new
IlvReliefLabel . |
IlvReliefLabel(IlvReliefLabel source)
Creates a new
IlvReliefLabel by copying an existing one. |
Modifier and Type | Method and Description |
---|---|
void |
baseTextDirectionChanged(int oldBaseTextDirection,
int newBaseTextDirection)
Called when the object is base text direction sensitive and the
resolved base text direction has changed.
|
void |
componentOrientationChanged(ComponentOrientation oldOri,
ComponentOrientation newOri)
Called when the object is component orientation sensitive and the
component orientation has changed.
|
IlvGraphic |
copy()
Copies the object.
|
protected void |
drawContent(Graphics dst,
IlvRect rect,
IlvTransformer t)
Draws the inner part of the object.
|
void |
drawLabel(Graphics dst,
IlvRect rect,
IlvTransformer t)
Draws the label inside the relief rectangle.
|
void |
fitToLabel()
Recomputes the size of the object according to the current
label and thickness.
|
int |
getBaseTextDirection()
Returns the base direction of the text.
|
ComponentOrientation |
getComponentOrientation()
Returns the component orientation of this object.
|
Font |
getFont()
Returns the font of the object.
|
String |
getLabel()
Returns the label of the object.
|
IlvRect |
getLabelBBox(IlvTransformer t)
Returns the bounding area where the label is displayed.
|
int |
getResolvedBaseTextDirection()
Returns the resolved base text direction.
|
protected void |
invalidateBidiCache()
Mark internal caches for locale, component orientation and base
text direction invalid.
|
boolean |
isAntialiasing()
Returns
true if the anti-aliasing mode
of the label is on. |
boolean |
isBaseTextDirectionSensitive()
Returns
true because the bounding box of this object
depends on its text direction. |
void |
setAntialiasing(boolean set)
Changes the anti-aliasing mode of the label.
|
void |
setBaseTextDirection(int baseTextDirection)
Changes the base direction of the text.
|
void |
setFont(Font font)
Changes the font of the object.
|
void |
setLabel(String label)
Changes the label of the object.
|
boolean |
supportMultiline()
Returns
false
since this object does not support multiline text. |
String |
toString()
Returns a string representation of the graphic object.
|
boolean |
usesBidiMarkers()
Returns
true if in-place editing implementation uses markers,
which should be taken into account in hit-to-point and point-to-hit
calculations. |
void |
write(IlvOutputStream stream)
Writes the object to an
IlvOutputStream . |
draw, getThickness, setCorners, setFillOn, setRadius, setStrokeOn, setThickness
applyTransform, boundingBox, contains, getBackground, getCorners, getDefinitionRect, getForeground, getIntersectionWithOutline, getRadius, isCornersZoomable, isFillOn, isStrokeOn, moveResize, resize, setBackground, setCornersZoomable, setDefinitionRect, setForeground, translate
addActionListener, addNamedPropertyListener, allViewsRemoved, blinkingStateOn, boundingBox, callDraw, getAndAssociateObjectInteractor, getBlinkingAction, getBlinkingObjectOwner, getBlinkingOffPeriod, getBlinkingOnPeriod, getCenter, getDefaultInteractor, getGraphicBag, GetGraphicObject, getLocale, getName, getNamedProperty, getObjectInteractor, getPopupMenu, getPopupMenu, getPopupMenuName, getProperty, getToolTipBaseTextDirection, getToolTipText, getToolTipText, getTopLevelGraphicBag, getTransferData, getTransferDataFlavors, getULocale, getZOrderIndex, hasProperty, inside, intersects, invalidateBBoxCache, isComponentOrientationSensitive, isDataFlavorSupported, isEditable, isInApplyToObject, isLocaleSensitive, isMovable, isPersistent, isSelectable, isVisible, localeChanged, makeSelection, move, move, needsViewNotification, notifyObjectInteractorToManager, processActionEvent, reDraw, registerBlinkingResource, removeActionListener, removeNamedProperty, removeNamedPropertyListener, removeProperty, replaceProperty, rotate, scale, setBaseTextDirectionDuringConstruction, setBlinkingAction, setBlinkingOffPeriod, setBlinkingOnPeriod, setEditable, setGraphicBag, setInApplyToObject, setMovable, setName, setNamedProperty, setNameImpl, setObjectInteractor, setPopupMenu, setPopupMenuName, setProperty, setSelectable, setToolTipBaseTextDirection, setToolTipText, setVisible, setZOrderIndex, updateNeedsViewNotification, viewAddedOrRemoved, zoomable
public IlvReliefLabel()
IlvReliefLabel
with default size of
(0, 0, 100, 100)
and an empty label.IlvReliefLabel(IlvRect, String)
public IlvReliefLabel(IlvRect rect, String label)
IlvReliefLabel
.rect
- The definition rectangle of the object.label
- The label.public IlvReliefLabel(IlvRect rect, String label, int thickness)
IlvReliefLabel
.rect
- The definition rectangle of the object.label
- The label.thickness
- The thickness of the relief.public IlvReliefLabel(IlvPoint at, String label, int thickness)
IlvReliefLabel
.
The size of the object is determined by the label.at
- The upper-left point of the object.label
- The label.thickness
- The thickness of the relief.public IlvReliefLabel(IlvReliefLabel source)
IlvReliefLabel
by copying an existing one.source
- The origin object for the copy.public IlvReliefLabel(IlvInputStream stream) throws IlvReadFileException
IlvInputStream
.stream
- The input stream.IlvReadFileException
- if the format is not correct.public final void setLabel(String label)
setLabel
in interface IlvLabelInterface
label
- The new label.fitToLabel()
public void fitToLabel()
The width of the definition rectangle is set to the width of the current label plus 4 times the current thickness. The height of the definition rectangle is set to the height of the current label plus 4 times the current thickness. The upper-left corner of the definition rectangle is not moved.
If the current label is null
, the width and height
of the definition rectangle are set to the value 10
.
Note that if the object is contained inside a manager, you should call
this method using the method IlvManager.applyToObject(ilog.views.IlvGraphic, ilog.views.IlvApplyObject, java.lang.Object, boolean)
.
getLabel()
,
IlvReliefRectangle.getThickness()
public final String getLabel()
getLabel
in interface IlvLabelInterface
public boolean supportMultiline()
false
since this object does not support multiline text.supportMultiline
in interface IlvLabelInterface
public IlvRect getLabelBBox(IlvTransformer t)
getLabelBBox
in interface IlvLabelInterface
t
- The transformer used to draw the object.public final void setFont(Font font)
setFont
in interface IlvFontInterface
font
- The new font.public final Font getFont()
getFont
in interface IlvFontInterface
public ComponentOrientation getComponentOrientation()
getComponentOrientation
in class IlvGraphic
IlvGraphic.isComponentOrientationSensitive()
public void setBaseTextDirection(int baseTextDirection)
IlvBidiUtil.INHERITED_DIRECTION
:
the base text direction is inherited from the
graphic bag that contains this object.
If this object is not contained in a graphic bag,
the base text direction is calculated from the
component orientation.
IlvBidiUtil.COMPONENT_DIRECTION
:
the base text direction is calculated from the
component orientation.
IlvBidiUtil.LEFT_TO_RIGHT
:
the base text direction is left-to-right.
IlvBidiUtil.RIGHT_TO_LEFT
:
the base text direction is right-to-left.
IlvBidiUtil.CONTEXTUAL_DIRECTION
:
the base test direction is determined from the text
that is displayed according to the standard Bidi
algorithm, if the text contains at least one character
with a strong left-to-right or right-to-left direction.
If the text doesn't contain any character with a strong
direction, the real text direction is determined from
the current component orientation of the object.
setBaseTextDirection
in interface IlvBaseTextDirectionInterface
setBaseTextDirection
in class IlvGraphic
baseTextDirection
- The base text directionIlvGraphic.baseTextDirectionChanged(int, int)
public int getBaseTextDirection()
IlvBidiUtil.INHERITED_DIRECTION
:
the base text direction is inherited from the
graphic bag that contains this object.
If this object is not contained in a graphic bag,
the base text direction is calculated from the
component orientation.
IlvBidiUtil.COMPONENT_DIRECTION
:
the base text direction is calculated from the
component orientation.
IlvBidiUtil.LEFT_TO_RIGHT
:
the base text direction is left-to-right.
IlvBidiUtil.RIGHT_TO_LEFT
:
the base text direction is right-to-left.
IlvBidiUtil.CONTEXTUAL_DIRECTION
:
the base test direction is determined from the text
that is displayed according to the standard Bidi
algorithm, if the text contains at least one character
with a strong left-to-right or right-to-left direction.
If the text doesn't contain any character with a strong
direction, the real text direction is determined from
the current component orientation of the object.
getBaseTextDirection
in interface IlvBaseTextDirectionInterface
getBaseTextDirection
in class IlvGraphic
public int getResolvedBaseTextDirection()
This method is similar to getBaseTextDirection()
but determines
the value when it is inherited from a parent component
(IlvBidiUtil.INHERITED_DIRECTION
) or dependent on
the component orientation (IlvBidiUtil.COMPONENT_DIRECTION
).
Hence, there are only 3 possible return values:
IlvBidiUtil.LEFT_TO_RIGHT
:
the base text direction is left-to-right.
IlvBidiUtil.RIGHT_TO_LEFT
:
the base text direction is right-to-left.
IlvBidiUtil.CONTEXTUAL_DIRECTION
:
the base test direction is determined from the text
that is displayed according to the standard Bidi
algorithm, if the text contains at least one character
with a strong left-to-right or right-to-left direction.
If the text doesn't contain any character with a strong
direction, the real text direction is determined from
the current component orientation of the object.
getResolvedBaseTextDirection
in interface IlvBaseTextDirectionInterface
getResolvedBaseTextDirection
in class IlvGraphic
protected void invalidateBidiCache()
invalidateBidiCache
in class IlvGraphic
public boolean usesBidiMarkers()
true
if in-place editing implementation uses markers,
which should be taken into account in hit-to-point and point-to-hit
calculations.usesBidiMarkers
in class IlvGraphic
public boolean isBaseTextDirectionSensitive()
true
because the bounding box of this object
depends on its text direction.isBaseTextDirectionSensitive
in class IlvGraphic
public void baseTextDirectionChanged(int oldBaseTextDirection, int newBaseTextDirection)
baseTextDirectionChanged
in class IlvGraphic
oldBaseTextDirection
- Resolved base text direction of this object before the change.newBaseTextDirection
- Resolved base text direction of this object after the change.isBaseTextDirectionSensitive()
public void componentOrientationChanged(ComponentOrientation oldOri, ComponentOrientation newOri)
componentOrientationChanged
in class IlvGraphic
oldOri
- Orientation of this object before the orientation change.newOri
- Orientation of this object after the orientation change.IlvGraphic.isComponentOrientationSensitive()
public final boolean isAntialiasing()
true
if the anti-aliasing mode
of the label is on.public final void setAntialiasing(boolean set)
public IlvGraphic copy()
copy
in class IlvReliefRectangle
IlvGraphic
protected void drawContent(Graphics dst, IlvRect rect, IlvTransformer t)
drawContent
of IlvReliefRectangle
to
draw the label of the object.drawContent
in class IlvReliefRectangle
dst
- The Graphics to perform the drawing.rect
- The rectangle defining the inner part of the relief rectangle
(that is, the bounding box with the relief shadow removed). Note that
this rectangle is already transformed by the transformer used to draw
the object.t
- The transformer used to draw the object.public void drawLabel(Graphics dst, IlvRect rect, IlvTransformer t)
dst
- The destination Graphics.rect
- The rectangle defining the inner part of the relief rectangle
(that is, the bounding box with the relief shadow removed). Note that
this rectangle is already transformed by the transformer used to draw
the object.t
- The transformation used to draw the object.public void write(IlvOutputStream stream) throws IOException
IlvOutputStream
.
You should not call this
method directly; instead, you should use the write
methods of the manager.write
in interface IlvPersistentObject
write
in class IlvReliefRectangle
stream
- The output stream.IOException
- thrown when an exception occurs during
the write operation for this object.public String toString()
IlvGraphic.toString()
with the label
(see getLabel()
).toString
in class IlvGraphic
IlvGraphic.getName()
© Copyright 2024 Rogue Wave Software, Inc., a Perforce company.. All Rights Reserved.