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 |
Deprecated. |
Field Summary
Modifier and Type | Field | Description |
---|---|---|
protected String |
acceleratorDelimiter |
Accelerator delimiter string, such as '+' in 'Ctrl+C' . |
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 MenuDragMouseListener . |
protected JMenuItem |
menuItem |
The instance of JMenuItem . |
protected MenuKeyListener |
menuKeyListener |
The instance of MenuKeyListener . |
protected MouseInputListener |
mouseInputListener |
The instance of MouseInputListener . |
protected boolean |
oldBorderPainted |
The value represents if the old border is painted. |
protected PropertyChangeListener |
propertyChangeListener |
PropertyChangeListener returned from createPropertyChangeListener . |
protected Color |
selectionBackground |
The color of the selection background. |
protected Color |
selectionForeground |
The color of the selection foreground. |
Constructor Summary
Constructor | Description |
---|---|
BasicMenuItemUI() |
Constructs a BasicMenuItemUI . |
Method Summary
Modifier and Type | Method | Description |
---|---|---|
protected MenuDragMouseListener |
createMenuDragMouseListener |
Returns an instance of MenuDragMouseListener . |
protected MenuKeyListener |
createMenuKeyListener |
Returns an instance of MenuKeyListener . |
protected MouseInputListener |
createMouseInputListener |
Returns an instance of MouseInputListener . |
protected PropertyChangeListener |
createPropertyChangeListener |
Creates a PropertyChangeListener which will be added to the menu item. |
static ComponentUI |
createUI |
Returns a new instance of BasicMenuItemUI . |
protected void |
doClick |
Call this method when a menu item is to be activated. |
MenuElement[] |
getPath() |
Returns a menu element path. |
protected Dimension |
getPreferredMenuItemSize |
Returns the preferred size of a menu item. |
protected String |
getPropertyPrefix() |
Returns a property prefix. |
protected void |
installComponents |
|
protected void |
installDefaults() |
Installs default properties. |
protected void |
installKeyboardActions() |
Registers keyboard action. |
protected void |
installListeners() |
Registers listeners. |
protected void |
paintBackground |
Draws the background of the menu item. |
protected void |
paintMenuItem |
Paints a menu item. |
protected void |
paintText |
Renders the text of the current menu item. |
protected void |
uninstallComponents |
Unregisters components. |
protected void |
uninstallDefaults() |
Uninstalls default properties. |
protected void |
uninstallKeyboardActions() |
Unregisters keyboard actions. |
protected void |
uninstallListeners() |
Unregisters listeners. |
void |
update |
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
Field Details
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
.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:
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 Details
BasicMenuItemUI
public BasicMenuItemUI()
Constructs a
BasicMenuItemUI
.Method Details
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:
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:
© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/java.desktop/javax/swing/plaf/basic/BasicMenuItemUI.html