javax.swing.plaf.basic

Class BasicLabelUI

public class BasicLabelUI extends LabelUI implements PropertyChangeListener

This is the Basic Look and Feel class for the JLabel. One BasicLabelUI object is used to paint all JLabels that utilize the Basic Look and Feel.
Field Summary
protected static BasicLabelUIlabelUI
The labelUI that is shared by all labels.
Constructor Summary
BasicLabelUI()
Creates a new BasicLabelUI object.
Method Summary
static ComponentUIcreateUI(JComponent c)
Creates and returns a UI for the label.
DimensiongetMaximumSize(JComponent c)
This method returns the maximum size of the {@link JComponent} given.
DimensiongetMinimumSize(JComponent c)
This method returns the minimum size of the {@link JComponent} given.
DimensiongetPreferredSize(JComponent c)
Returns the preferred size of this component as calculated by the {@link #layoutCL(JLabel, FontMetrics, String, Icon, Rectangle, Rectangle, Rectangle)} method.
protected voidinstallComponents(JLabel c)
This method installs the components for this {@link JLabel}.
protected voidinstallDefaults(JLabel c)
This method installs the defaults that are defined in the Basic look and feel for this {@link JLabel}.
protected voidinstallKeyboardActions(JLabel l)
Installs the keyboard actions for the given {@link JLabel}.
protected voidinstallListeners(JLabel c)
This method installs the listeners for the given {@link JLabel}.
voidinstallUI(JComponent c)
This method installs the UI for the given {@link JComponent}.
protected StringlayoutCL(JLabel label, FontMetrics fontMetrics, String text, Icon icon, Rectangle viewR, Rectangle iconR, Rectangle textR)
This method is simply calls SwingUtilities's layoutCompoundLabel.
voidpaint(Graphics g, JComponent c)
The method that paints the label according to its current state.
protected voidpaintDisabledText(JLabel l, Graphics g, String s, int textX, int textY)
Paints the text if the label is disabled.
protected voidpaintEnabledText(JLabel l, Graphics g, String s, int textX, int textY)
Paints the text if the label is enabled.
voidpropertyChange(PropertyChangeEvent e)
This method is called whenever any JLabel's that use this UI has one of their properties change.
protected voiduninstallComponents(JLabel c)
This method uninstalls the components for this {@link JLabel}.
protected voiduninstallDefaults(JLabel c)
This method uninstalls the defaults that are defined in the Basic look and feel for this {@link JLabel}.
protected voiduninstallKeyboardActions(JLabel l)
This method uninstalls the keyboard actions for the given {@link JLabel}.
protected voiduninstallListeners(JLabel c)
This method uninstalls the listeners for the given {@link JLabel}.
voiduninstallUI(JComponent c)
This method uninstalls the UI for the given {@link JComponent}.

Field Detail

labelUI

protected static BasicLabelUI labelUI
The labelUI that is shared by all labels.

Constructor Detail

BasicLabelUI

public BasicLabelUI()
Creates a new BasicLabelUI object.

Method Detail

createUI

public static ComponentUI createUI(JComponent c)
Creates and returns a UI for the label. Since one UI is shared by all labels, this means creating only if necessary and returning the shared UI.

Parameters: c The {@link JComponent} that a UI is being created for.

Returns: A label UI for the Basic Look and Feel.

getMaximumSize

public Dimension getMaximumSize(JComponent c)
This method returns the maximum size of the {@link JComponent} given. If this method returns null, then it is up to the Layout Manager to give this component a maximum size.

Parameters: c The {@link JComponent} to get a maximum size for.

Returns: The maximum size.

getMinimumSize

public Dimension getMinimumSize(JComponent c)
This method returns the minimum size of the {@link JComponent} given. If this method returns null, then it is up to the Layout Manager to give this component a minimum size.

Parameters: c The {@link JComponent} to get a minimum size for.

Returns: The minimum size.

getPreferredSize

public Dimension getPreferredSize(JComponent c)
Returns the preferred size of this component as calculated by the {@link #layoutCL(JLabel, FontMetrics, String, Icon, Rectangle, Rectangle, Rectangle)} method.

Parameters: c This {@link JComponent} to get a preferred size for.

Returns: The preferred size.

installComponents

protected void installComponents(JLabel c)
This method installs the components for this {@link JLabel}.

Parameters: c The {@link JLabel} to install components for.

installDefaults

protected void installDefaults(JLabel c)
This method installs the defaults that are defined in the Basic look and feel for this {@link JLabel}.

Parameters: c The {@link JLabel} to install defaults for.

installKeyboardActions

protected void installKeyboardActions(JLabel l)
Installs the keyboard actions for the given {@link JLabel}.

Parameters: l The {@link JLabel} to install keyboard actions for.

installListeners

protected void installListeners(JLabel c)
This method installs the listeners for the given {@link JLabel}. The UI delegate only listens to the label.

Parameters: c The {@link JLabel} to install listeners for.

installUI

public void installUI(JComponent c)
This method installs the UI for the given {@link JComponent}. This method will install the component, defaults, listeners, and keyboard actions.

Parameters: c The {@link JComponent} that this UI is being installed on.

layoutCL

protected String layoutCL(JLabel label, FontMetrics fontMetrics, String text, Icon icon, Rectangle viewR, Rectangle iconR, Rectangle textR)
This method is simply calls SwingUtilities's layoutCompoundLabel.

Parameters: label The label to lay out. fontMetrics The FontMetrics for the font used. text The text to paint. icon The icon to draw. viewR The entire viewable rectangle. iconR The icon bounds rectangle. textR The text bounds rectangle.

Returns: A possibly clipped version of the text.

paint

public void paint(Graphics g, JComponent c)
The method that paints the label according to its current state.

Parameters: g The {@link Graphics} object to paint with. c The {@link JComponent} to paint.

paintDisabledText

protected void paintDisabledText(JLabel l, Graphics g, String s, int textX, int textY)
Paints the text if the label is disabled. By default, this paints the clipped text returned by layoutCompoundLabel using the background.brighter() color. It also paints the same text using the background.darker() color one pixel to the right and one pixel down.

Parameters: l The {@link JLabel} being painted. g The {@link Graphics} object to paint with. s The String to paint. textX The x coordinate of the start of the baseline. textY The y coordinate of the start of the baseline.

paintEnabledText

protected void paintEnabledText(JLabel l, Graphics g, String s, int textX, int textY)
Paints the text if the label is enabled. The text is painted using the foreground color.

Parameters: l The {@link JLabel} being painted. g The {@link Graphics} object to paint with. s The String to paint. textX The x coordinate of the start of the baseline. textY The y coordinate of the start of the baseline.

propertyChange

public void propertyChange(PropertyChangeEvent e)
This method is called whenever any JLabel's that use this UI has one of their properties change.

Parameters: e The {@link PropertyChangeEvent} that describes the change.

uninstallComponents

protected void uninstallComponents(JLabel c)
This method uninstalls the components for this {@link JLabel}.

Parameters: c The {@link JLabel} to uninstall components for.

uninstallDefaults

protected void uninstallDefaults(JLabel c)
This method uninstalls the defaults that are defined in the Basic look and feel for this {@link JLabel}.

Parameters: c The {@link JLabel} to uninstall defaults for.

uninstallKeyboardActions

protected void uninstallKeyboardActions(JLabel l)
This method uninstalls the keyboard actions for the given {@link JLabel}.

Parameters: l The {@link JLabel} to uninstall keyboard actions for.

uninstallListeners

protected void uninstallListeners(JLabel c)
This method uninstalls the listeners for the given {@link JLabel}. The UI delegate only listens to the label.

Parameters: c The {@link JLabel} to uninstall listeners for.

uninstallUI

public void uninstallUI(JComponent c)
This method uninstalls the UI for the given {@link JComponent}. This method will uninstall the component, defaults, listeners, and keyboard actions.

Parameters: c The {@link JComponent} that this UI is being installed on.