- All Implemented Interfaces:
ImageObserver,MenuContainer,Serializable,Accessible,SwingConstants
- Direct Known Subclasses:
BasicComboBoxRenderer,DefaultListCellRenderer,DefaultTableCellRenderer,DefaultTreeCellRenderer
A JLabel object can display
either text, an image, or both.
You can specify where in the label's display area
the label's contents are aligned
by setting the vertical and horizontal alignment.
By default, labels are vertically centered
in their display area.
Text-only labels are leading edge aligned, by default;
image-only labels are horizontally centered, by default.
You can also specify the position of the text relative to the image. By default, text is on the trailing edge of the image, with the text and image vertically aligned.
A label's leading and trailing edge are determined from the value of its
ComponentOrientation property. At present, the default
ComponentOrientation setting maps the leading edge to left and the trailing
edge to right.
Finally, you can use the setIconTextGap method
to specify how many pixels
should appear between the text and the image.
The default is 4 pixels.
See How to Use Labels in The Java Tutorial for further documentation.
Warning: Swing is not thread safe. For more information see Swing's Threading Policy.
Warning:
Serialized objects of this class will not be compatible with
future Swing releases. The current serialization support is
appropriate for short term storage or RMI between applications running
the same version of Swing. As of 1.4, support for long term storage
of all JavaBeans
has been added to the java.beans package.
Please see XMLEncoder.
- Since:
- 1.2
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected classThe class used to obtain the accessible role for this object.Nested classes/interfaces declared in class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces declared in class java.awt.Container
Container.AccessibleAWTContainerNested classes/interfaces declared in class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected ComponentThe Component this label is for; null if the label is not the label for a componentFields declared in class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields declared in class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields declared in interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTHFields declared in interface javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST -
Constructor Summary
ConstructorsConstructorDescriptionJLabel()Creates aJLabelinstance with no image and with an empty string for the title.Creates aJLabelinstance with the specified text.Creates aJLabelinstance with the specified text and horizontal alignment.Creates aJLabelinstance with the specified text, image, and horizontal alignment.Creates aJLabelinstance with the specified image.Creates aJLabelinstance with the specified image and horizontal alignment. -
Method Summary
Modifier and TypeMethodDescriptionprotected intcheckHorizontalKey(int key, String message) Verify that key is a legal value for the horizontalAlignment properties.protected intcheckVerticalKey(int key, String message) Verify that key is a legal value for the verticalAlignment or verticalTextPosition properties.Get the AccessibleContext of this objectReturns the icon used by the label when it's disabled.intReturn the keycode that indicates a mnemonic key.intReturns the character, as an index, that the look and feel should provide decoration for as representing the mnemonic character.intReturns the alignment of the label's contents along the X axis.intReturns the horizontal position of the label's text, relative to its image.getIcon()Returns the graphic image (glyph, icon) that the label displays.intReturns the amount of space between the text and the icon displayed in this label.Get the component this is labelling.getText()Returns the text string that the label displays.getUI()Returns the L&F object that renders this component.Returns a string that specifies the name of the l&f class that renders this component.intReturns the alignment of the label's contents along the Y axis.intReturns the vertical position of the label's text, relative to its image.booleanimageUpdate(Image img, int infoflags, int x, int y, int w, int h) If the component is not showing or either the icon or disabled icon is not anImageIconwith anImageequal to the passed inImage, returnfalse; otherwise it will delegate to the super-class.protected StringReturns a string representation of this JLabel.voidsetDisabledIcon(Icon disabledIcon) Set the icon to be displayed if this JLabel is "disabled" (JLabel.setEnabled(false)).voidsetDisplayedMnemonic(char aChar) Specifies the displayedMnemonic as a char value.voidsetDisplayedMnemonic(int key) Specify a keycode that indicates a mnemonic key.voidsetDisplayedMnemonicIndex(int index) Provides a hint to the look and feel as to which character in the text should be decorated to represent the mnemonic.voidsetHorizontalAlignment(int alignment) Sets the alignment of the label's contents along the X axis.voidsetHorizontalTextPosition(int textPosition) Sets the horizontal position of the label's text, relative to its image.voidDefines the icon this component will display.voidsetIconTextGap(int iconTextGap) If both the icon and text properties are set, this property defines the space between them.voidSet the component this is labelling.voidDefines the single line of text this component will display.voidSets the L&F object that renders this component.voidsetVerticalAlignment(int alignment) Sets the alignment of the label's contents along the Y axis.voidsetVerticalTextPosition(int textPosition) Sets the vertical position of the label's text, relative to its image.voidupdateUI()Resets the UI property to a value from the current look and feel.Methods declared in class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, updateMethods declared in class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTreeMethods declared in class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Field Details
-
labelFor
The Component this label is for; null if the label is not the label for a component
-
-
Constructor Details
-
JLabel
Creates aJLabelinstance with the specified text, image, and horizontal alignment. The label is centered vertically in its display area. The text is on the trailing edge of the image.- Parameters:
text- The text to be displayed by the label.icon- The image to be displayed by the label.horizontalAlignment- One of the following constants defined inSwingConstants:LEFT,CENTER,RIGHT,LEADINGorTRAILING.
-
JLabel
Creates aJLabelinstance with the specified text and horizontal alignment. The label is centered vertically in its display area.- Parameters:
text- The text to be displayed by the label.horizontalAlignment- One of the following constants defined inSwingConstants:LEFT,CENTER,RIGHT,LEADINGorTRAILING.
-
JLabel
Creates aJLabelinstance with the specified text. The label is aligned against the leading edge of its display area, and centered vertically.- Parameters:
text- The text to be displayed by the label.
-
JLabel
Creates aJLabelinstance with the specified image and horizontal alignment. The label is centered vertically in its display area.- Parameters:
image- The image to be displayed by the label.horizontalAlignment- One of the following constants defined inSwingConstants:LEFT,CENTER,RIGHT,LEADINGorTRAILING.
-
JLabel
Creates aJLabelinstance with the specified image. The label is centered vertically and horizontally in its display area.- Parameters:
image- The image to be displayed by the label.
-
JLabel
public JLabel()Creates aJLabelinstance with no image and with an empty string for the title. The label is centered vertically in its display area. The label's contents, once set, will be displayed on the leading edge of the label's display area.
-
-
Method Details
-
getUI
Returns the L&F object that renders this component.- Overrides:
getUIin classJComponent- Returns:
- LabelUI object
-
setUI
@BeanProperty(hidden=true, visualUpdate=true, description="The UI object that implements the Component\'s LookAndFeel.") public void setUI(LabelUI ui) Sets the L&F object that renders this component.- Parameters:
ui- the LabelUI L&F object- See Also:
-
updateUI
public void updateUI()Resets the UI property to a value from the current look and feel.- Overrides:
updateUIin classJComponent- See Also:
-
getUIClassID
Returns a string that specifies the name of the l&f class that renders this component.- Overrides:
getUIClassIDin classJComponent- Returns:
- the string "LabelUI"
- See Also:
-
getText
Returns the text string that the label displays.- Returns:
- a String
- See Also:
-
setText
@BeanProperty(preferred=true, visualUpdate=true, description="Defines the single line of text this component will display.") public void setText(String text) Defines the single line of text this component will display. If the value of text is null or empty string, nothing is displayed.The default value of this property is null.
This is a JavaBeans bound property.
- Parameters:
text- the single line of text this component will display- See Also:
-
getIcon
Returns the graphic image (glyph, icon) that the label displays.- Returns:
- an Icon
- See Also:
-
setIcon
@BeanProperty(preferred=true, visualUpdate=true, description="The icon this component will display.") public void setIcon(Icon icon) Defines the icon this component will display. If the value of icon is null, nothing is displayed.The default value of this property is null.
This is a JavaBeans bound property.
- Parameters:
icon- the default icon this component will display- See Also:
-
getDisabledIcon
Returns the icon used by the label when it's disabled. If no disabled icon has been set this will forward the call to the look and feel to construct an appropriate disabled Icon.Some look and feels might not render the disabled Icon, in which case they will ignore this.
- Returns:
- the
disabledIconproperty - See Also:
-
setDisabledIcon
@BeanProperty(visualUpdate=true, description="The icon to display if the label is disabled.") public void setDisabledIcon(Icon disabledIcon) Set the icon to be displayed if this JLabel is "disabled" (JLabel.setEnabled(false)).The default value of this property is null.
- Parameters:
disabledIcon- the Icon to display when the component is disabled- See Also:
-
setDisplayedMnemonic
@BeanProperty(visualUpdate=true, description="The mnemonic keycode.") public void setDisplayedMnemonic(int key) Specify a keycode that indicates a mnemonic key. This property is used when the label is part of a larger component. If the labelFor property of the label is not null, the label will call the requestFocus method of the component specified by the labelFor property when the mnemonic is activated.- Parameters:
key- a keycode that indicates a mnemonic key- See Also:
-
setDisplayedMnemonic
public void setDisplayedMnemonic(char aChar) Specifies the displayedMnemonic as a char value.- Parameters:
aChar- a char specifying the mnemonic to display- See Also:
-
getDisplayedMnemonic
public int getDisplayedMnemonic()Return the keycode that indicates a mnemonic key. This property is used when the label is part of a larger component. If the labelFor property of the label is not null, the label will call the requestFocus method of the component specified by the labelFor property when the mnemonic is activated.- Returns:
- int value for the mnemonic key
- See Also:
-
setDisplayedMnemonicIndex
@BeanProperty(visualUpdate=true, description="the index into the String to draw the keyboard character mnemonic at") public void setDisplayedMnemonicIndex(int index) throws IllegalArgumentException Provides a hint to the look and feel as to which character in the text should be decorated to represent the mnemonic. Not all look and feels may support this. A value of -1 indicates either there is no mnemonic, the mnemonic character is not contained in the string, or the developer does not wish the mnemonic to be displayed.The value of this is updated as the properties relating to the mnemonic change (such as the mnemonic itself, the text...). You should only ever have to call this if you do not wish the default character to be underlined. For example, if the text was 'Save As', with a mnemonic of 'a', and you wanted the 'A' to be decorated, as 'Save As', you would have to invoke
setDisplayedMnemonicIndex(5)after invokingsetDisplayedMnemonic(KeyEvent.VK_A).- Parameters:
index- Index into the String to underline- Throws:
IllegalArgumentException- will be thrown ifindexis >= length of the text, or < -1- Since:
- 1.4
-
getDisplayedMnemonicIndex
public int getDisplayedMnemonicIndex()Returns the character, as an index, that the look and feel should provide decoration for as representing the mnemonic character.- Returns:
- index representing mnemonic character
- Since:
- 1.4
- See Also:
-
checkHorizontalKey
Verify that key is a legal value for the horizontalAlignment properties.- Parameters:
key- the property value to checkmessage- the IllegalArgumentException detail message- Returns:
- the key value if
keyis a legal value for the horizontalAlignment properties - Throws:
IllegalArgumentException- if key isn't LEFT, CENTER, RIGHT, LEADING or TRAILING.- See Also:
-
checkVerticalKey
Verify that key is a legal value for the verticalAlignment or verticalTextPosition properties.- Parameters:
key- the property value to checkmessage- the IllegalArgumentException detail message- Returns:
- the key value if
keyis a legal value for the verticalAlignment or verticalTextPosition properties - Throws:
IllegalArgumentException- if key isn't TOP, CENTER, or BOTTOM.- See Also:
-
getIconTextGap
public int getIconTextGap()Returns the amount of space between the text and the icon displayed in this label.- Returns:
- an int equal to the number of pixels between the text and the icon.
- See Also:
-
setIconTextGap
@BeanProperty(visualUpdate=true, description="If both the icon and text properties are set, this property defines the space between them.") public void setIconTextGap(int iconTextGap) If both the icon and text properties are set, this property defines the space between them.The default value of this property is 4 pixels.
This is a JavaBeans bound property.
- Parameters:
iconTextGap- the space between the icon and text properties- See Also:
-
getVerticalAlignment
public int getVerticalAlignment()Returns the alignment of the label's contents along the Y axis.- Returns:
- The value of the verticalAlignment property, one of the
following constants defined in
SwingConstants:TOP,CENTER, orBOTTOM. - See Also:
-
setVerticalAlignment
@BeanProperty(visualUpdate=true, enumerationValues={"SwingConstants.TOP","SwingConstants.CENTER","SwingConstants.BOTTOM"}, description="The alignment of the label\'s contents along the Y axis.") public void setVerticalAlignment(int alignment) Sets the alignment of the label's contents along the Y axis.The default value of this property is CENTER.
- Parameters:
alignment- One of the following constants defined inSwingConstants:TOP,CENTER(the default), orBOTTOM.- See Also:
-
getHorizontalAlignment
public int getHorizontalAlignment()Returns the alignment of the label's contents along the X axis.- Returns:
- The value of the horizontalAlignment property, one of the
following constants defined in
SwingConstants:LEFT,CENTER,RIGHT,LEADINGorTRAILING. - See Also:
-
setHorizontalAlignment
@BeanProperty(visualUpdate=true, enumerationValues={"SwingConstants.LEFT","SwingConstants.CENTER","SwingConstants.RIGHT","SwingConstants.LEADING","SwingConstants.TRAILING"}, description="The alignment of the label\'s content along the X axis.") public void setHorizontalAlignment(int alignment) Sets the alignment of the label's contents along the X axis.This is a JavaBeans bound property.
- Parameters:
alignment- One of the following constants defined inSwingConstants:LEFT,CENTER(the default for image-only labels),RIGHT,LEADING(the default for text-only labels) orTRAILING.- See Also:
-
getVerticalTextPosition
public int getVerticalTextPosition()Returns the vertical position of the label's text, relative to its image.- Returns:
- One of the following constants
defined in
SwingConstants:TOP,CENTER, orBOTTOM. - See Also:
-
setVerticalTextPosition
@BeanProperty(expert=true, visualUpdate=true, enumerationValues={"SwingConstants.TOP","SwingConstants.CENTER","SwingConstants.BOTTOM"}, description="The vertical position of the text relative to it\'s image.") public void setVerticalTextPosition(int textPosition) Sets the vertical position of the label's text, relative to its image.The default value of this property is CENTER.
This is a JavaBeans bound property.
- Parameters:
textPosition- One of the following constants defined inSwingConstants:TOP,CENTER(the default), orBOTTOM.- See Also:
-
getHorizontalTextPosition
public int getHorizontalTextPosition()Returns the horizontal position of the label's text, relative to its image.- Returns:
- One of the following constants
defined in
SwingConstants:LEFT,CENTER,RIGHT,LEADINGorTRAILING. - See Also:
-
setHorizontalTextPosition
@BeanProperty(expert=true, visualUpdate=true, enumerationValues={"SwingConstants.LEFT","SwingConstants.CENTER","SwingConstants.RIGHT","SwingConstants.LEADING","SwingConstants.TRAILING"}, description="The horizontal position of the label\'s text, relative to its image.") public void setHorizontalTextPosition(int textPosition) Sets the horizontal position of the label's text, relative to its image.- Parameters:
textPosition- One of the following constants defined inSwingConstants:LEFT,CENTER,RIGHT,LEADING, orTRAILING(the default).- See Also:
-
imageUpdate
If the component is not showing or either the icon or disabled icon is not anImageIconwith anImageequal to the passed inImage, returnfalse; otherwise it will delegate to the super-class.- Specified by:
imageUpdatein interfaceImageObserver- Overrides:
imageUpdatein classComponent- Parameters:
img- theImageto be comparedinfoflags- flags used to repaint the label when the image is updated and which determine how much is to be paintedx- the x coordinatey- the y coordinatew- the widthh- the height- Returns:
falseif the infoflags indicate that the image is completely loaded;trueotherwise.- See Also:
-
paramString
Returns a string representation of this JLabel. This method is intended to be used only for debugging purposes, and the content and format of the returned string may vary between implementations. The returned string may be empty but may not benull.- Overrides:
paramStringin classJComponent- Returns:
- a string representation of this JLabel.
-
getLabelFor
Get the component this is labelling.- Returns:
- the Component this is labelling. Can be null if this does not label a Component. If the displayedMnemonic property is set and the labelFor property is also set, the label will call the requestFocus method of the component specified by the labelFor property when the mnemonic is activated.
- See Also:
-
setLabelFor
Set the component this is labelling. Can be null if this does not label a Component. If the displayedMnemonic property is set and the labelFor property is also set, the label will call the requestFocus method of the component specified by the labelFor property when the mnemonic is activated.- Parameters:
c- the Component this label is for, or null if the label is not the label for a component- See Also:
-
getAccessibleContext
@BeanProperty(bound=false, expert=true, description="The AccessibleContext associated with this Label.") public AccessibleContext getAccessibleContext()Get the AccessibleContext of this object- Specified by:
getAccessibleContextin interfaceAccessible- Overrides:
getAccessibleContextin classComponent- Returns:
- the AccessibleContext of this object
-