Class BasicMenuItemUI
- java.lang.Object
-
- javax.swing.plaf.ComponentUI
-
- javax.swing.plaf.ButtonUI
-
- javax.swing.plaf.MenuItemUI
-
- javax.swing.plaf.basic.BasicMenuItemUI
- Direct Known Subclasses:
-
BasicCheckBoxMenuItemUI
,BasicMenuUI
,BasicRadioButtonMenuItemUI
,SynthMenuItemUI
public class BasicMenuItemUI extends MenuItemUI
BasicMenuItem implementation
Nested Class Summary
Modifier and Type | Class | Description |
---|---|---|
protected class | BasicMenuItemUI.MouseInputHandler | Mouse input handler |
Field Summary
Modifier and Type | Field | Description |
---|---|---|
protected String | acceleratorDelimiter | Accelerator delimiter string, such as |
protected Font | acceleratorFont | The accelerator font. |
protected Color | acceleratorForeground | The color of the accelerator foreground. |
protected Color | acceleratorSelectionForeground | The color of the accelerator selection. |
protected Icon | arrowIcon | The arrow icon. |
protected Icon | checkIcon | The check icon. |
protected int | defaultTextIconGap | The gap between the text and the icon. |
protected Color | disabledForeground | The color of the disabled foreground. |
protected MenuDragMouseListener | menuDragMouseListener | The instance of |
protected JMenuItem | menuItem | The instance of |
protected MenuKeyListener | menuKeyListener | The instance of |
protected MouseInputListener | mouseInputListener | The instance of |
protected boolean | oldBorderPainted | The value represents if the old border is painted. |
protected PropertyChangeListener | propertyChangeListener |
|
protected Color | selectionBackground | The color of the selection background. |
protected Color | selectionForeground | The color of the selection foreground. |
Constructor Summary
Constructor | Description |
---|---|
BasicMenuItemUI() |
Method Summary
Modifier and Type | Method | Description |
---|---|---|
protected MenuDragMouseListener | createMenuDragMouseListener(JComponent c) | Returns an instance of |
protected MenuKeyListener | createMenuKeyListener(JComponent c) | Returns an instance of |
protected MouseInputListener | createMouseInputListener(JComponent c) | Returns an instance of |
protected PropertyChangeListener | createPropertyChangeListener(JComponent c) | Creates a |
static ComponentUI | createUI(JComponent c) | Returns a new instance of |
protected void | doClick(MenuSelectionManager msm) | Call this method when a menu item is to be activated. |
MenuElement[] | getPath() | Returns a menu element path. |
protected Dimension | getPreferredMenuItemSize(JComponent c,
Icon checkIcon,
Icon arrowIcon,
int defaultTextIconGap) | Returns the preferred size of a menu item. |
protected String | getPropertyPrefix() | Returns a property prefix. |
protected void | installComponents(JMenuItem menuItem) | |
protected void | installDefaults() | Installs default properties. |
protected void | installKeyboardActions() | Registers keyboard action. |
protected void | installListeners() | Registers listeners. |
protected void | paintBackground(Graphics g,
JMenuItem menuItem,
Color bgColor) | Draws the background of the menu item. |
protected void | paintMenuItem(Graphics g,
JComponent c,
Icon checkIcon,
Icon arrowIcon,
Color background,
Color foreground,
int defaultTextIconGap) | Paints a menu item. |
protected void | paintText(Graphics g,
JMenuItem menuItem,
Rectangle textRect,
String text) | Renders the text of the current menu item. |
protected void | uninstallComponents(JMenuItem menuItem) | Unregisters components. |
protected void | uninstallDefaults() | Uninstalls default properties. |
protected void | uninstallKeyboardActions() | Unregisters keyboard actions. |
protected void | uninstallListeners() | Unregisters listeners. |
void | update(Graphics g,
JComponent c) | We draw the background in paintMenuItem() so override update (which fills the background of opaque components by default) to just call paint(). |
Methods declared in class javax.swing.plaf.ComponentUI
contains, getAccessibleChild, getAccessibleChildrenCount, getBaseline, getBaselineResizeBehavior, getMaximumSize, getMinimumSize, getPreferredSize, installUI, paint, uninstallUI
Methods declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Field Detail
menuItem
protected JMenuItem menuItem
The instance of JMenuItem
.
selectionBackground
protected Color selectionBackground
The color of the selection background.
selectionForeground
protected Color selectionForeground
The color of the selection foreground.
disabledForeground
protected Color disabledForeground
The color of the disabled foreground.
acceleratorForeground
protected Color acceleratorForeground
The color of the accelerator foreground.
acceleratorSelectionForeground
protected Color acceleratorSelectionForeground
The color of the accelerator selection.
acceleratorDelimiter
protected String acceleratorDelimiter
Accelerator delimiter string, such as '+'
in 'Ctrl+C'
.
- Since:
- 1.7
defaultTextIconGap
protected int defaultTextIconGap
The gap between the text and the icon.
acceleratorFont
protected Font acceleratorFont
The accelerator font.
mouseInputListener
protected MouseInputListener mouseInputListener
The instance of MouseInputListener
.
menuDragMouseListener
protected MenuDragMouseListener menuDragMouseListener
The instance of MenuDragMouseListener
.
menuKeyListener
protected MenuKeyListener menuKeyListener
The instance of MenuKeyListener
.
propertyChangeListener
protected PropertyChangeListener propertyChangeListener
PropertyChangeListener
returned from createPropertyChangeListener
. You should not need to access this field, rather if you want to customize the PropertyChangeListener
override createPropertyChangeListener
.
- Since:
- 1.6
- See Also:
createPropertyChangeListener(javax.swing.JComponent)
arrowIcon
protected Icon arrowIcon
The arrow icon.
checkIcon
protected Icon checkIcon
The check icon.
oldBorderPainted
protected boolean oldBorderPainted
The value represents if the old border is painted.
Constructor Detail
BasicMenuItemUI
public BasicMenuItemUI()
Method Detail
createUI
public static ComponentUI createUI(JComponent c)
Returns a new instance of BasicMenuItemUI
.
- Parameters:
-
c
- a component - Returns:
- a new instance of
BasicMenuItemUI
installDefaults
protected void installDefaults()
Installs default properties.
installComponents
protected void installComponents(JMenuItem menuItem)
- Parameters:
-
menuItem
- a menu item - Since:
- 1.3
getPropertyPrefix
protected String getPropertyPrefix()
Returns a property prefix.
- Returns:
- a property prefix
installListeners
protected void installListeners()
Registers listeners.
installKeyboardActions
protected void installKeyboardActions()
Registers keyboard action.
uninstallDefaults
protected void uninstallDefaults()
Uninstalls default properties.
uninstallComponents
protected void uninstallComponents(JMenuItem menuItem)
Unregisters components.
- Parameters:
-
menuItem
- a menu item - Since:
- 1.3
uninstallListeners
protected void uninstallListeners()
Unregisters listeners.
uninstallKeyboardActions
protected void uninstallKeyboardActions()
Unregisters keyboard actions.
createMouseInputListener
protected MouseInputListener createMouseInputListener(JComponent c)
Returns an instance of MouseInputListener
.
- Parameters:
-
c
- a component - Returns:
- an instance of
MouseInputListener
createMenuDragMouseListener
protected MenuDragMouseListener createMenuDragMouseListener(JComponent c)
Returns an instance of MenuDragMouseListener
.
- Parameters:
-
c
- a component - Returns:
- an instance of
MenuDragMouseListener
createMenuKeyListener
protected MenuKeyListener createMenuKeyListener(JComponent c)
Returns an instance of MenuKeyListener
.
- Parameters:
-
c
- a component - Returns:
- an instance of
MenuKeyListener
createPropertyChangeListener
protected PropertyChangeListener createPropertyChangeListener(JComponent c)
Creates a PropertyChangeListener
which will be added to the menu item. If this method returns null then it will not be added to the menu item.
- Parameters:
-
c
- a component - Returns:
- an instance of a
PropertyChangeListener
or null - Since:
- 1.6
getPreferredMenuItemSize
protected Dimension getPreferredMenuItemSize(JComponent c, Icon checkIcon, Icon arrowIcon, int defaultTextIconGap)
Returns the preferred size of a menu item.
- Parameters:
-
c
- a component -
checkIcon
- a check icon -
arrowIcon
- an arrow icon -
defaultTextIconGap
- a gap between a text and an icon - Returns:
- the preferred size of a menu item
update
public void update(Graphics g, JComponent c)
We draw the background in paintMenuItem() so override update (which fills the background of opaque components by default) to just call paint().
- Overrides:
-
update
in classComponentUI
- Parameters:
-
g
- theGraphics
context in which to paint -
c
- the component being painted; this argument is often ignored, but might be used if the UI object is stateless and shared by multiple components - See Also:
-
ComponentUI.paint(java.awt.Graphics, javax.swing.JComponent)
,JComponent.paintComponent(java.awt.Graphics)
paintMenuItem
protected void paintMenuItem(Graphics g, JComponent c, Icon checkIcon, Icon arrowIcon, Color background, Color foreground, int defaultTextIconGap)
Paints a menu item.
- Parameters:
-
g
- an instance ofGraphics
-
c
- a component -
checkIcon
- a check icon -
arrowIcon
- an arrow icon -
background
- a background color -
foreground
- a foreground color -
defaultTextIconGap
- a gap between a text and an icon
paintBackground
protected void paintBackground(Graphics g, JMenuItem menuItem, Color bgColor)
Draws the background of the menu item.
- Parameters:
-
g
- the paint graphics -
menuItem
- menu item to be painted -
bgColor
- selection background color - Since:
- 1.4
paintText
protected void paintText(Graphics g, JMenuItem menuItem, Rectangle textRect, String text)
Renders the text of the current menu item.
- Parameters:
-
g
- graphics context -
menuItem
- menu item to render -
textRect
- bounding rectangle for rendering the text -
text
- string to render - Since:
- 1.4
getPath
public MenuElement[] getPath()
Returns a menu element path.
- Returns:
- a menu element path
doClick
protected void doClick(MenuSelectionManager msm)
Call this method when a menu item is to be activated. This method handles some of the details of menu item activation such as clearing the selected path and messaging the JMenuItem's doClick() method.
- Parameters:
-
msm
- A MenuSelectionManager. The visual feedback and internal bookkeeping tasks are delegated to this MenuSelectionManager. Ifnull
is passed as this argument, theMenuSelectionManager.defaultManager
is used. - Since:
- 1.4
- See Also:
-
MenuSelectionManager
,AbstractButton.doClick(int)