javax.swing.plaf.basic
Class BasicMenuUI

java.lang.Object
  extended byjavax.swing.plaf.ComponentUI
      extended byjavax.swing.plaf.ButtonUI
          extended byjavax.swing.plaf.MenuItemUI
              extended byjavax.swing.plaf.basic.BasicMenuItemUI
                  extended byjavax.swing.plaf.basic.BasicMenuUI

public class BasicMenuUI
extends BasicMenuItemUI

A default L&F implementation of MenuUI. This implementation is a "combined" view/controller.

Author:
Georges Saab, David Karlton, Arnaud Weber

Nested Class Summary
 class BasicMenuUI.ChangeHandler
          As of Java 2 platform 1.4, this previously undocumented class is now obsolete.
private  class BasicMenuUI.MenuDragMouseHandler
           
private  class BasicMenuUI.MenuKeyHandler
          Handles the mnemonic handling for the JMenu and JMenuItems.
protected  class BasicMenuUI.MouseInputHandler
          Instantiated and used by a menu item to handle the current menu selection from mouse events.
private static class BasicMenuUI.PostAction
           
private  class BasicMenuUI.PropertyChangeHandler
           
 
Nested classes inherited from class javax.swing.plaf.basic.BasicMenuItemUI
 
Field Summary
protected  ChangeListener changeListener
           
private static boolean crossMenuMnemonic
           
private static boolean DEBUG
           
private  int lastMnemonic
           
protected  MenuListener menuListener
           
protected  java.beans.PropertyChangeListener propertyChangeListener
           
private  InputMap selectedWindowInputMap
          Uses as the parent of the windowInputMap when selected.
private static boolean TRACE
           
private static boolean VERBOSE
           
 
Fields inherited from class javax.swing.plaf.basic.BasicMenuItemUI
acceleratorFont, acceleratorForeground, acceleratorRect, acceleratorSelectionForeground, arrowIcon, arrowIconRect, checkIcon, checkIconRect, defaultTextIconGap, disabledForeground, iconRect, MAX_ACC_WIDTH, MAX_TEXT_WIDTH, menuDragMouseListener, menuItem, menuKeyListener, mouseInputListener, oldBorderPainted, r, selectionBackground, selectionForeground, textRect, viewRect, windowInputMap, zeroRect
 
Constructor Summary
BasicMenuUI()
           
 
Method Summary
private static void appendPath(MenuElement[] path, MenuElement elem)
           
(package private)  ActionMap createActionMap()
          Invoked to create the ActionMap.
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  java.beans.PropertyChangeListener createPropertyChangeListener(JComponent c)
           
static ComponentUI createUI(JComponent x)
          Returns an instance of the UI delegate for the specified component.
(package private)  ActionMap getActionMap()
          The ActionMap for BasicMenUI can not be shared, this is subclassed to create a new one for each invocation.
(package private) static JPopupMenu getActivePopupMenu()
           
 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()
           
private  void updateDefaultBackgroundColor()
           
(package private)  void updateMnemonicBinding()
           
 
Methods inherited from class javax.swing.plaf.basic.BasicMenuItemUI
createInputMap, doClick, getMinimumSize, getPath, getPreferredMenuItemSize, getPreferredSize, installComponents, installUI, paint, paintBackground, paintMenuItem, paintText, printMenuElementArray, uninstallComponents, uninstallUI, update, updateAcceleratorBinding
 
Methods inherited from class javax.swing.plaf.ComponentUI
contains, getAccessibleChild, getAccessibleChildrenCount
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

changeListener

protected ChangeListener changeListener

propertyChangeListener

protected java.beans.PropertyChangeListener propertyChangeListener

menuListener

protected MenuListener menuListener

lastMnemonic

private int lastMnemonic

selectedWindowInputMap

private InputMap selectedWindowInputMap
Uses as the parent of the windowInputMap when selected.


TRACE

private static final boolean TRACE
See Also:
Constant Field Values

VERBOSE

private static final boolean VERBOSE
See Also:
Constant Field Values

DEBUG

private static final boolean DEBUG
See Also:
Constant Field Values

crossMenuMnemonic

private static boolean crossMenuMnemonic
Constructor Detail

BasicMenuUI

public BasicMenuUI()
Method Detail

createUI

public static ComponentUI createUI(JComponent x)
Description copied from class: ComponentUI
Returns an instance of the UI delegate for the specified component. Each subclass must provide its own static createUI method that returns an instance of that UI delegate subclass. If the UI delegate subclass is stateless, it may return an instance that is shared by multiple components. If the UI delegate is stateful, then it should return a new instance per component. The default implementation of this method throws an error, as it should never be invoked.


installDefaults

protected void installDefaults()
Overrides:
installDefaults in class BasicMenuItemUI

getPropertyPrefix

protected String getPropertyPrefix()
Overrides:
getPropertyPrefix in class BasicMenuItemUI

installListeners

protected void installListeners()
Overrides:
installListeners in class BasicMenuItemUI

installKeyboardActions

protected void installKeyboardActions()
Overrides:
installKeyboardActions in class BasicMenuItemUI

updateMnemonicBinding

void updateMnemonicBinding()

uninstallKeyboardActions

protected void uninstallKeyboardActions()
Overrides:
uninstallKeyboardActions in class BasicMenuItemUI

getActionMap

ActionMap getActionMap()
The ActionMap for BasicMenUI can not be shared, this is subclassed to create a new one for each invocation.

Overrides:
getActionMap in class BasicMenuItemUI

createActionMap

ActionMap createActionMap()
Invoked to create the ActionMap.

Overrides:
createActionMap in class BasicMenuItemUI

createMouseInputListener

protected MouseInputListener createMouseInputListener(JComponent c)
Overrides:
createMouseInputListener in class BasicMenuItemUI

createMenuListener

protected MenuListener createMenuListener(JComponent c)

createChangeListener

protected ChangeListener createChangeListener(JComponent c)

createPropertyChangeListener

protected java.beans.PropertyChangeListener createPropertyChangeListener(JComponent c)

uninstallDefaults

protected void uninstallDefaults()
Overrides:
uninstallDefaults in class BasicMenuItemUI

uninstallListeners

protected void uninstallListeners()
Overrides:
uninstallListeners in class BasicMenuItemUI

createMenuDragMouseListener

protected MenuDragMouseListener createMenuDragMouseListener(JComponent c)
Overrides:
createMenuDragMouseListener in class BasicMenuItemUI

createMenuKeyListener

protected MenuKeyListener createMenuKeyListener(JComponent c)
Overrides:
createMenuKeyListener in class BasicMenuItemUI

getMaximumSize

public Dimension getMaximumSize(JComponent c)
Description copied from class: ComponentUI
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 in class BasicMenuItemUI

setupPostTimer

protected void setupPostTimer(JMenu menu)

appendPath

private static void appendPath(MenuElement[] path,
                               MenuElement elem)

updateDefaultBackgroundColor

private void updateDefaultBackgroundColor()

getActivePopupMenu

static JPopupMenu getActivePopupMenu()