javax.swing.plaf.basic

Class BasicMenuItemUI

public class BasicMenuItemUI extends MenuItemUI

UI Delegate for JMenuItem.
Nested Class Summary
protected classBasicMenuItemUI.MouseInputHandler
This class handles mouse events occuring inside the menu item.
Field Summary
protected FontacceleratorFont
Font to be used when displaying menu item's accelerator.
protected ColoracceleratorForeground
Color to be used when displaying menu item's accelerator.
protected ColoracceleratorSelectionForeground
Color to be used when displaying menu item's accelerator when menu item is selected.
protected IconarrowIcon
Icon that is displayed after the text to indicated that this menu contains submenu.
protected IconcheckIcon
Icon that is displayed before the text.
protected intdefaultTextIconGap
Number of spaces between icon and text.
protected ColordisabledForeground
Color of the text when menu item is disabled
protected MenuDragMouseListenermenuDragMouseListener
The menu Drag mouse listener listening to the menu item.
protected JMenuItemmenuItem
The menu item itself
protected MenuKeyListenermenuKeyListener
Menu Key listener listening to the menu item.
protected MouseInputListenermouseInputListener
mouse input listener listening to menu item.
protected booleanoldBorderPainted
Indicates if border should be painted
protected ColorselectionBackground
Color of text that is used when menu item is selected
protected ColorselectionForeground
Color of the text that is used when menu item is selected.
Constructor Summary
BasicMenuItemUI()
Creates a new BasicMenuItemUI object.
Method Summary
protected MenuDragMouseListenercreateMenuDragMouseListener(JComponent c)
Create MenuDragMouseListener to listen for mouse dragged events.
protected MenuKeyListenercreateMenuKeyListener(JComponent c)
Creates MenuKeyListener to listen to key events occuring when menu item is visible on the screen.
protected MouseInputListenercreateMouseInputListener(JComponent c)
Handles mouse input events occuring for this menu item
static ComponentUIcreateUI(JComponent c)
Factory method to create a BasicMenuItemUI for the given {@link JComponent}, which should be a {@link JMenuItem}.
protected voiddoClick(MenuSelectionManager msm)
Programatically clicks menu item.
DimensiongetMaximumSize(JComponent c)
Returns maximum size for the specified menu item
DimensiongetMinimumSize(JComponent c)
Returns minimum size for the specified menu item
MenuElement[]getPath()
Returns path to this menu item.
protected DimensiongetPreferredMenuItemSize(JComponent c, Icon checkIcon, Icon arrowIcon, int defaultTextIconGap)
Returns preferred size for the given menu item.
DimensiongetPreferredSize(JComponent c)
Returns preferred size of the given component
protected StringgetPropertyPrefix()
Returns the prefix for entries in the {@link UIDefaults} table.
protected voidinstallComponents(JMenuItem menuItem)
This method installs the components for this {@link JMenuItem}.
protected voidinstallDefaults()
This method installs the defaults that are defined in the Basic look and feel for this {@link JMenuItem}.
protected voidinstallKeyboardActions()
This method installs the keyboard actions for this {@link JMenuItem}.
protected voidinstallListeners()
This method installs the listeners for the {@link JMenuItem}.
voidinstallUI(JComponent c)
Installs and initializes all fields for this UI delegate.
voidpaint(Graphics g, JComponent c)
Paints given menu item using specified graphics context
protected voidpaintBackground(Graphics g, JMenuItem menuItem, Color bgColor)
Paints background of the menu item
protected voidpaintMenuItem(Graphics g, JComponent c, Icon checkIcon, Icon arrowIcon, Color background, Color foreground, int defaultTextIconGap)
Paints specified menu item
protected voidpaintText(Graphics g, JMenuItem menuItem, Rectangle textRect, String text)
Paints label for the given menu item
protected voiduninstallComponents(JMenuItem menuItem)
This method uninstalls the components for this {@link JMenuItem}.
protected voiduninstallDefaults()
This method uninstalls the defaults and sets any objects created during install to null
protected voiduninstallKeyboardActions()
Uninstalls any keyboard actions.
protected voiduninstallListeners()
Unregisters all the listeners that this UI delegate was using.
voiduninstallUI(JComponent c)
Performs the opposite of installUI.
voidupdate(Graphics g, JComponent c)
This method calls paint.

Field Detail

acceleratorFont

protected Font acceleratorFont
Font to be used when displaying menu item's accelerator.

acceleratorForeground

protected Color acceleratorForeground
Color to be used when displaying menu item's accelerator.

acceleratorSelectionForeground

protected Color acceleratorSelectionForeground
Color to be used when displaying menu item's accelerator when menu item is selected.

arrowIcon

protected Icon arrowIcon
Icon that is displayed after the text to indicated that this menu contains submenu.

checkIcon

protected Icon checkIcon
Icon that is displayed before the text. This icon is only used in JCheckBoxMenuItem or JRadioBoxMenuItem.

defaultTextIconGap

protected int defaultTextIconGap
Number of spaces between icon and text.

disabledForeground

protected Color disabledForeground
Color of the text when menu item is disabled

menuDragMouseListener

protected MenuDragMouseListener menuDragMouseListener
The menu Drag mouse listener listening to the menu item.

menuItem

protected JMenuItem menuItem
The menu item itself

menuKeyListener

protected MenuKeyListener menuKeyListener
Menu Key listener listening to the menu item.

mouseInputListener

protected MouseInputListener mouseInputListener
mouse input listener listening to menu item.

oldBorderPainted

protected boolean oldBorderPainted
Indicates if border should be painted

selectionBackground

protected Color selectionBackground
Color of text that is used when menu item is selected

selectionForeground

protected Color selectionForeground
Color of the text that is used when menu item is selected.

Constructor Detail

BasicMenuItemUI

public BasicMenuItemUI()
Creates a new BasicMenuItemUI object.

Method Detail

createMenuDragMouseListener

protected MenuDragMouseListener createMenuDragMouseListener(JComponent c)
Create MenuDragMouseListener to listen for mouse dragged events.

Parameters: c menu item to listen to

Returns: The MenuDragMouseListener

createMenuKeyListener

protected MenuKeyListener createMenuKeyListener(JComponent c)
Creates MenuKeyListener to listen to key events occuring when menu item is visible on the screen.

Parameters: c menu item to listen to

Returns: The MenuKeyListener

createMouseInputListener

protected MouseInputListener createMouseInputListener(JComponent c)
Handles mouse input events occuring for this menu item

Parameters: c menu item to listen to

Returns: The MouseInputListener

createUI

public static ComponentUI createUI(JComponent c)
Factory method to create a BasicMenuItemUI for the given {@link JComponent}, which should be a {@link JMenuItem}.

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

Returns: A BasicMenuItemUI for the {@link JComponent}.

doClick

protected void doClick(MenuSelectionManager msm)
Programatically clicks menu item.

Parameters: msm MenuSelectionManager for the menu hierarchy

getMaximumSize

public Dimension getMaximumSize(JComponent c)
Returns maximum size for the specified menu item

Parameters: c component for which to get maximum size

Returns: Maximum size for the specified menu item.

getMinimumSize

public Dimension getMinimumSize(JComponent c)
Returns minimum size for the specified menu item

Parameters: c component for which to get minimum size

Returns: Minimum size for the specified menu item.

getPath

public MenuElement[] getPath()
Returns path to this menu item.

Returns: $MenuElement[]$ Returns array of menu elements that constitute a path to this menu item.

getPreferredMenuItemSize

protected Dimension getPreferredMenuItemSize(JComponent c, Icon checkIcon, Icon arrowIcon, int defaultTextIconGap)
Returns preferred size for the given menu item.

Parameters: c menu item for which to get preferred size checkIcon check icon displayed in the given menu item arrowIcon arrow icon displayed in the given menu item defaultTextIconGap space between icon and text in the given menuItem

Returns: $Dimension$ preferred size for the given menu item

getPreferredSize

public Dimension getPreferredSize(JComponent c)
Returns preferred size of the given component

Parameters: c component for which to return preferred size

Returns: $Dimension$ preferred size for the given component

getPropertyPrefix

protected String getPropertyPrefix()
Returns the prefix for entries in the {@link UIDefaults} table.

Returns: "MenuItem"

installComponents

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

Parameters: menuItem The {@link JMenuItem} to install components for.

installDefaults

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

installKeyboardActions

protected void installKeyboardActions()
This method installs the keyboard actions for this {@link JMenuItem}.

installListeners

protected void installListeners()
This method installs the listeners for the {@link JMenuItem}.

installUI

public void installUI(JComponent c)
Installs and initializes all fields for this UI delegate. Any properties of the UI that need to be initialized and/or set to defaults will be done now. It will also install any listeners necessary.

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

paint

public void paint(Graphics g, JComponent c)
Paints given menu item using specified graphics context

Parameters: g The graphics context used to paint this menu item c Menu Item to paint

paintBackground

protected void paintBackground(Graphics g, JMenuItem menuItem, Color bgColor)
Paints background of the menu item

Parameters: g The graphics context used to paint this menu item menuItem menu item to paint bgColor Background color to use when painting menu item

paintMenuItem

protected void paintMenuItem(Graphics g, JComponent c, Icon checkIcon, Icon arrowIcon, Color background, Color foreground, int defaultTextIconGap)
Paints specified menu item

Parameters: g The graphics context used to paint this menu item c menu item to paint checkIcon check icon to use when painting menu item arrowIcon arrow icon to use when painting menu item background Background color of the menu item foreground Foreground color of the menu item defaultTextIconGap space to use between icon and text when painting menu item

paintText

protected void paintText(Graphics g, JMenuItem menuItem, Rectangle textRect, String text)
Paints label for the given menu item

Parameters: g The graphics context used to paint this menu item menuItem menu item for which to draw its label textRect rectangle specifiying position of the text relative to the given menu item text label of the menu item

uninstallComponents

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

Parameters: menuItem The {@link JMenuItem} to uninstall components for.

uninstallDefaults

protected void uninstallDefaults()
This method uninstalls the defaults and sets any objects created during install to null

uninstallKeyboardActions

protected void uninstallKeyboardActions()
Uninstalls any keyboard actions.

uninstallListeners

protected void uninstallListeners()
Unregisters all the listeners that this UI delegate was using.

uninstallUI

public void uninstallUI(JComponent c)
Performs the opposite of installUI. Any properties or resources that need to be cleaned up will be done now. It will also uninstall any listeners it has. In addition, any properties of this UI will be nulled.

Parameters: c The {@link JComponent} that is having this UI uninstalled.

update

public void update(Graphics g, JComponent c)
This method calls paint.

Parameters: g The graphics context used to paint this menu item c The menu item to paint