javax.swing.plaf.basic

Class BasicMenuUI


public class BasicMenuUI
extends BasicMenuItemUI

UI Delegate for JMenu

Nested Class Summary

class
BasicMenuUI.ChangeHandler
Obsolete as of JDK1.4.
protected class
BasicMenuUI.MouseInputHandler
This class is used by menus to handle mouse events occuring in the menu.

Nested classes/interfaces inherited from class javax.swing.plaf.basic.BasicMenuItemUI

BasicMenuItemUI.MouseInputHandler

Field Summary

protected ChangeListener
changeListener
protected MenuListener
menuListener
protected PropertyChangeListener
propertyChangeListener
A PropertyChangeListener to make UI updates after property changes.

Fields inherited from class javax.swing.plaf.basic.BasicMenuItemUI

acceleratorFont, acceleratorForeground, acceleratorSelectionForeground, arrowIcon, checkIcon, defaultTextIconGap, disabledForeground, menuDragMouseListener, menuItem, menuKeyListener, mouseInputListener, oldBorderPainted, selectionBackground, selectionForeground

Constructor Summary

BasicMenuUI()
Creates a new BasicMenuUI object.

Method Summary

protected ChangeListener
createChangeListener(JComponent c)
This method creates a new ChangeListener.
protected MenuDragMouseListener
createMenuDragMouseListener(JComponent c)
This method creates new MenuDragMouseListener to listen to mouse dragged events occuring in the Menu
protected MenuKeyListener
createMenuKeyListener(JComponent c)
This method creates new MenuDragKeyListener to listen to key events
protected MenuListener
createMenuListener(JComponent c)
This method creates new MenuListener to listen to menu events occuring in the Menu
protected MouseInputListener
createMouseInputListener(JComponent c)
This method creates new MouseInputListener to listen to mouse input events occuring in the Menu
protected PropertyChangeListener
createPropertyChangeListener(JComponent c)
This method creates newPropertyChangeListener to listen to property changes occuring in the Menu
static ComponentUI
createUI(JComponent c)
This method creates a new BasicMenuUI.
Dimension
getMaximumSize(JComponent c)
Get the component's maximum size.
protected String
getPropertyPrefix()
Returns the prefix for entries in the UIDefaults table.
protected void
installDefaults()
Initializes any default properties that this UI has from the defaults for the Basic look and feel.
protected void
installKeyboardActions()
Installs any keyboard actions.
protected void
installListeners()
Creates and registers all the listeners for this UI delegate.
protected void
setupPostTimer(JMenu menu)
protected void
uninstallDefaults()
This method uninstalls the defaults and sets any objects created during install to null
protected void
uninstallKeyboardActions()
Uninstalls any keyboard actions.
protected void
uninstallListeners()
Unregisters all the listeners that this UI delegate was using.

Methods inherited from class javax.swing.plaf.basic.BasicMenuItemUI

createMenuDragMouseListener, createMenuKeyListener, createMouseInputListener, createUI, doClick, getMaximumSize, getMinimumSize, getPath, getPreferredMenuItemSize, getPreferredSize, getPropertyPrefix, installComponents, installDefaults, installKeyboardActions, installListeners, installUI, paint, paintBackground, paintMenuItem, paintText, uninstallComponents, uninstallDefaults, uninstallKeyboardActions, uninstallListeners, uninstallUI, update

Methods inherited from class javax.swing.plaf.ComponentUI

contains, createUI, getAccessibleChild, getAccessibleChildrenCount, getMaximumSize, getMinimumSize, getPreferredSize, installUI, paint, uninstallUI, update

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Details

changeListener

protected ChangeListener changeListener

menuListener

protected MenuListener menuListener

propertyChangeListener

protected PropertyChangeListener propertyChangeListener
A PropertyChangeListener to make UI updates after property changes.

Constructor Details

BasicMenuUI

public BasicMenuUI()
Creates a new BasicMenuUI object.

Method Details

createChangeListener

protected ChangeListener createChangeListener(JComponent c)
This method creates a new ChangeListener.
Returns:
A new ChangeListener.

createMenuDragMouseListener

protected MenuDragMouseListener createMenuDragMouseListener(JComponent c)
This method creates new MenuDragMouseListener to listen to mouse dragged events occuring in the Menu
Overrides:
createMenuDragMouseListener in interface BasicMenuItemUI
Parameters:
c - the menu to listen to
Returns:
The MenuDrageMouseListener

createMenuKeyListener

protected MenuKeyListener createMenuKeyListener(JComponent c)
This method creates new MenuDragKeyListener to listen to key events
Overrides:
createMenuKeyListener in interface BasicMenuItemUI
Parameters:
c - the menu to listen to
Returns:
The MenuKeyListener

createMenuListener

protected MenuListener createMenuListener(JComponent c)
This method creates new MenuListener to listen to menu events occuring in the Menu
Parameters:
c - the menu to listen to
Returns:
The MenuListener

createMouseInputListener

protected MouseInputListener createMouseInputListener(JComponent c)
This method creates new MouseInputListener to listen to mouse input events occuring in the Menu
Overrides:
createMouseInputListener in interface BasicMenuItemUI
Parameters:
c - the menu to listen to
Returns:
The MouseInputListener

createPropertyChangeListener

protected PropertyChangeListener createPropertyChangeListener(JComponent c)
This method creates newPropertyChangeListener to listen to property changes occuring in the Menu
Parameters:
c - the menu to listen to
Returns:
The PropertyChangeListener

createUI

public static ComponentUI createUI(JComponent c)
This method creates a new BasicMenuUI.
Overrides:
createUI in interface BasicMenuItemUI
Parameters:
c - The JComponent to create a UI for.
Returns:
A new BasicMenuUI.

getMaximumSize

public Dimension getMaximumSize(JComponent c)
Get the component's maximum size.
Overrides:
getMaximumSize in interface BasicMenuItemUI
Parameters:
c - The JComponent for which to get maximum size
Returns:
The maximum size of the component

getPropertyPrefix

protected String getPropertyPrefix()
Returns the prefix for entries in the UIDefaults table.
Overrides:
getPropertyPrefix in interface BasicMenuItemUI
Returns:
"Menu"

installDefaults

protected void installDefaults()
Initializes any default properties that this UI has from the defaults for the Basic look and feel.
Overrides:
installDefaults in interface BasicMenuItemUI

installKeyboardActions

protected void installKeyboardActions()
Installs any keyboard actions. The list of keys that need to be bound are listed in Basic look and feel's defaults.
Overrides:
installKeyboardActions in interface BasicMenuItemUI

installListeners

protected void installListeners()
Creates and registers all the listeners for this UI delegate.
Overrides:
installListeners in interface BasicMenuItemUI

setupPostTimer

protected void setupPostTimer(JMenu menu)

uninstallDefaults

protected void uninstallDefaults()
This method uninstalls the defaults and sets any objects created during install to null
Overrides:
uninstallDefaults in interface BasicMenuItemUI

uninstallKeyboardActions

protected void uninstallKeyboardActions()
Uninstalls any keyboard actions. The list of keys used are listed in Basic look and feel's defaults.
Overrides:
uninstallKeyboardActions in interface BasicMenuItemUI

uninstallListeners

protected void uninstallListeners()
Unregisters all the listeners that this UI delegate was using. In addition, it will also null any listeners that it was using.
Overrides:
uninstallListeners in interface BasicMenuItemUI

BasicMenuUI.java Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.