BasicMenuUI (Java Platform SE 8 ) (original) (raw)
- javax.swing.plaf.ComponentUI
- javax.swing.plaf.ButtonUI
- javax.swing.plaf.MenuItemUI
* * javax.swing.plaf.basic.BasicMenuItemUI
* * javax.swing.plaf.basic.BasicMenuUI
- javax.swing.plaf.MenuItemUI
- javax.swing.plaf.ButtonUI
Direct Known Subclasses:
SynthMenuUI
public class BasicMenuUI
extends BasicMenuItemUI
A default L&F implementation of MenuUI. This implementation is a "combined" view/controller.
Nested Class Summary
Nested Classes
Modifier and Type Class Description class BasicMenuUI.ChangeHandler As of Java 2 platform 1.4, this previously undocumented class is now obsolete. protected class BasicMenuUI.MouseInputHandler Instantiated and used by a menu item to handle the current menu selection from mouse events. Field Summary
Fields
Modifier and Type Field Description protected ChangeListener changeListener protected MenuListener menuListener * ### Fields inherited from class javax.swing.plaf.basic.[BasicMenuItemUI](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html "class in javax.swing.plaf.basic") `[acceleratorDelimiter](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html#acceleratorDelimiter), [acceleratorFont](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html#acceleratorFont), [acceleratorForeground](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html#acceleratorForeground), [acceleratorSelectionForeground](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html#acceleratorSelectionForeground), [arrowIcon](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html#arrowIcon), [checkIcon](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html#checkIcon), [defaultTextIconGap](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html#defaultTextIconGap), [disabledForeground](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html#disabledForeground), [menuDragMouseListener](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html#menuDragMouseListener), [menuItem](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html#menuItem), [menuKeyListener](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html#menuKeyListener), [mouseInputListener](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html#mouseInputListener), [oldBorderPainted](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html#oldBorderPainted), [propertyChangeListener](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html#propertyChangeListener), [selectionBackground](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html#selectionBackground), [selectionForeground](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html#selectionForeground)`
Constructor Summary
Constructors
Constructor Description BasicMenuUI() Method Summary
All Methods Static Methods Instance Methods Concrete Methods
Modifier and Type Method Description protected ChangeListener createChangeListener(JComponent c) protected MenuDragMouseListener createMenuDragMouseListener(JComponent c) protected MenuKeyListener createMenuKeyListener(JComponent c) protected MenuListener createMenuListener(JComponent c) protected MouseInputListener createMouseInputListener(JComponent c) protected PropertyChangeListener createPropertyChangeListener(JComponent c) Creates a PropertyChangeListener which will be added to the menu item. static ComponentUI createUI(JComponent x) Dimension getMaximumSize(JComponent c) Returns the specified component's maximum size appropriate for the look and feel. protected String getPropertyPrefix() protected void installDefaults() protected void installKeyboardActions() protected void installListeners() protected void setupPostTimer(JMenu menu) protected void uninstallDefaults() protected void uninstallKeyboardActions() protected void uninstallListeners() * ### Methods inherited from class javax.swing.plaf.basic.[BasicMenuItemUI](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html "class in javax.swing.plaf.basic") `[doClick](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html#doClick-javax.swing.MenuSelectionManager-), [getMinimumSize](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html#getMinimumSize-javax.swing.JComponent-), [getPath](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html#getPath--), [getPreferredMenuItemSize](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html#getPreferredMenuItemSize-javax.swing.JComponent-javax.swing.Icon-javax.swing.Icon-int-), [getPreferredSize](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html#getPreferredSize-javax.swing.JComponent-), [installComponents](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html#installComponents-javax.swing.JMenuItem-), [installUI](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html#installUI-javax.swing.JComponent-), [paint](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html#paint-java.awt.Graphics-javax.swing.JComponent-), [paintBackground](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html#paintBackground-java.awt.Graphics-javax.swing.JMenuItem-java.awt.Color-), [paintMenuItem](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html#paintMenuItem-java.awt.Graphics-javax.swing.JComponent-javax.swing.Icon-javax.swing.Icon-java.awt.Color-java.awt.Color-int-), [paintText](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html#paintText-java.awt.Graphics-javax.swing.JMenuItem-java.awt.Rectangle-java.lang.String-), [uninstallComponents](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html#uninstallComponents-javax.swing.JMenuItem-), [uninstallUI](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html#uninstallUI-javax.swing.JComponent-), [update](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html#update-java.awt.Graphics-javax.swing.JComponent-)` * ### Methods inherited from class javax.swing.plaf.[ComponentUI](../../../../javax/swing/plaf/ComponentUI.html "class in javax.swing.plaf") `[contains](../../../../javax/swing/plaf/ComponentUI.html#contains-javax.swing.JComponent-int-int-), [getAccessibleChild](../../../../javax/swing/plaf/ComponentUI.html#getAccessibleChild-javax.swing.JComponent-int-), [getAccessibleChildrenCount](../../../../javax/swing/plaf/ComponentUI.html#getAccessibleChildrenCount-javax.swing.JComponent-), [getBaseline](../../../../javax/swing/plaf/ComponentUI.html#getBaseline-javax.swing.JComponent-int-int-), [getBaselineResizeBehavior](../../../../javax/swing/plaf/ComponentUI.html#getBaselineResizeBehavior-javax.swing.JComponent-)` * ### Methods inherited from class java.lang.[Object](../../../../java/lang/Object.html "class in java.lang") `[clone](../../../../java/lang/Object.html#clone--), [equals](../../../../java/lang/Object.html#equals-java.lang.Object-), [finalize](../../../../java/lang/Object.html#finalize--), [getClass](../../../../java/lang/Object.html#getClass--), [hashCode](../../../../java/lang/Object.html#hashCode--), [notify](../../../../java/lang/Object.html#notify--), [notifyAll](../../../../java/lang/Object.html#notifyAll--), [toString](../../../../java/lang/Object.html#toString--), [wait](../../../../java/lang/Object.html#wait--), [wait](../../../../java/lang/Object.html#wait-long-), [wait](../../../../java/lang/Object.html#wait-long-int-)`
Field Detail
* #### changeListener protected [ChangeListener](../../../../javax/swing/event/ChangeListener.html "interface in javax.swing.event") changeListener * #### menuListener protected [MenuListener](../../../../javax/swing/event/MenuListener.html "interface in javax.swing.event") menuListener
Constructor Detail
* #### BasicMenuUI public BasicMenuUI()
Method Detail
* #### createUI public static [ComponentUI](../../../../javax/swing/plaf/ComponentUI.html "class in javax.swing.plaf") createUI([JComponent](../../../../javax/swing/JComponent.html "class in javax.swing") x) * #### installDefaults protected void installDefaults() Overrides: `[installDefaults](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html#installDefaults--)` in class `[BasicMenuItemUI](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html "class in javax.swing.plaf.basic")` * #### getPropertyPrefix protected [String](../../../../java/lang/String.html "class in java.lang") getPropertyPrefix() Overrides: `[getPropertyPrefix](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html#getPropertyPrefix--)` in class `[BasicMenuItemUI](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html "class in javax.swing.plaf.basic")` * #### installListeners protected void installListeners() Overrides: `[installListeners](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html#installListeners--)` in class `[BasicMenuItemUI](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html "class in javax.swing.plaf.basic")` * #### installKeyboardActions protected void installKeyboardActions() Overrides: `[installKeyboardActions](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html#installKeyboardActions--)` in class `[BasicMenuItemUI](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html "class in javax.swing.plaf.basic")` * #### uninstallKeyboardActions protected void uninstallKeyboardActions() Overrides: `[uninstallKeyboardActions](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html#uninstallKeyboardActions--)` in class `[BasicMenuItemUI](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html "class in javax.swing.plaf.basic")` * #### createMouseInputListener protected [MouseInputListener](../../../../javax/swing/event/MouseInputListener.html "interface in javax.swing.event") createMouseInputListener([JComponent](../../../../javax/swing/JComponent.html "class in javax.swing") c) Overrides: `[createMouseInputListener](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html#createMouseInputListener-javax.swing.JComponent-)` in class `[BasicMenuItemUI](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html "class in javax.swing.plaf.basic")` * #### createMenuListener protected [MenuListener](../../../../javax/swing/event/MenuListener.html "interface in javax.swing.event") createMenuListener([JComponent](../../../../javax/swing/JComponent.html "class in javax.swing") c) * #### createChangeListener protected [ChangeListener](../../../../javax/swing/event/ChangeListener.html "interface in javax.swing.event") createChangeListener([JComponent](../../../../javax/swing/JComponent.html "class in javax.swing") c) * #### createPropertyChangeListener protected [PropertyChangeListener](../../../../java/beans/PropertyChangeListener.html "interface in java.beans") createPropertyChangeListener([JComponent](../../../../javax/swing/JComponent.html "class in javax.swing") 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. Overrides: `[createPropertyChangeListener](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html#createPropertyChangeListener-javax.swing.JComponent-)` in class `[BasicMenuItemUI](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html "class in javax.swing.plaf.basic")` Returns: an instance of a `PropertyChangeListener` or null * #### uninstallDefaults protected void uninstallDefaults() Overrides: `[uninstallDefaults](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html#uninstallDefaults--)` in class `[BasicMenuItemUI](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html "class in javax.swing.plaf.basic")` * #### uninstallListeners protected void uninstallListeners() Overrides: `[uninstallListeners](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html#uninstallListeners--)` in class `[BasicMenuItemUI](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html "class in javax.swing.plaf.basic")` * #### createMenuDragMouseListener protected [MenuDragMouseListener](../../../../javax/swing/event/MenuDragMouseListener.html "interface in javax.swing.event") createMenuDragMouseListener([JComponent](../../../../javax/swing/JComponent.html "class in javax.swing") c) Overrides: `[createMenuDragMouseListener](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html#createMenuDragMouseListener-javax.swing.JComponent-)` in class `[BasicMenuItemUI](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html "class in javax.swing.plaf.basic")` * #### createMenuKeyListener protected [MenuKeyListener](../../../../javax/swing/event/MenuKeyListener.html "interface in javax.swing.event") createMenuKeyListener([JComponent](../../../../javax/swing/JComponent.html "class in javax.swing") c) Overrides: `[createMenuKeyListener](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html#createMenuKeyListener-javax.swing.JComponent-)` in class `[BasicMenuItemUI](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html "class in javax.swing.plaf.basic")` * #### getMaximumSize public [Dimension](../../../../java/awt/Dimension.html "class in java.awt") getMaximumSize([JComponent](../../../../javax/swing/JComponent.html "class in javax.swing") c) Returns the specified component's maximum size appropriate for the look and feel. If `null` is returned, the maximum size will be calculated by the component's layout manager instead (this is the preferred approach for any component with a specific layout manager installed). The default implementation of this method invokes `getPreferredSize` and returns that value. Overrides: `[getMaximumSize](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html#getMaximumSize-javax.swing.JComponent-)` in class `[BasicMenuItemUI](../../../../javax/swing/plaf/basic/BasicMenuItemUI.html "class in javax.swing.plaf.basic")` Parameters: `c` \- the component whose maximum size is being queried; this argument is often ignored, but might be used if the UI object is stateless and shared by multiple components Returns: a `Dimension` object or `null` See Also: [JComponent.getMaximumSize()](../../../../javax/swing/JComponent.html#getMaximumSize--), [LayoutManager2.maximumLayoutSize(java.awt.Container)](../../../../java/awt/LayoutManager2.html#maximumLayoutSize-java.awt.Container-) * #### setupPostTimer protected void setupPostTimer([JMenu](../../../../javax/swing/JMenu.html "class in javax.swing") menu)
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.