javax.swing.plaf.basic

Class BasicMenuBarUI


public class BasicMenuBarUI
extends MenuBarUI

UI Delegate for JMenuBar.

Nested Class Summary

protected class
BasicMenuBarUI.ChangeHandler
protected class
BasicMenuBarUI.ContainerHandler
This class handles ContainerEvents fired by JMenuBar.
protected class
BasicMenuBarUI.PropertyChangeHandler
This class handles PropertyChangeEvents fired from the JMenuBar

Field Summary

protected ChangeListener
changeListener
protected ContainerListener
containerListener
protected JMenuBar
menuBar
protected PropertyChangeListener
propertyChangeListener

Constructor Summary

BasicMenuBarUI()
Creates a new BasicMenuBarUI object.

Method Summary

protected ChangeListener
createChangeListener()
Creates ChangeListener
protected ContainerListener
createContainerListener()
Creates ContainerListener() to listen for ContainerEvents fired by JMenuBar.
static ComponentUI
createUI(JComponent x)
Factory method to create a BasicMenuBarUI for the given JComponent, which should be a JMenuBar.
Dimension
getMaximumSize(JComponent c)
Returns maximum size for the specified menu bar
Dimension
getMinimumSize(JComponent c)
Returns maximum allowed size of JMenuBar.
Dimension
getPreferredSize(JComponent c)
Returns preferred size of JMenuBar.
protected void
installDefaults()
Initializes any default properties that this UI has from the defaults for the Basic look and feel.
protected void
installKeyboardActions()
This method installs the keyboard actions for the JMenuBar.
protected void
installListeners()
This method installs the listeners needed for this UI to function.
void
installUI(JComponent c)
Installs and initializes all fields for this UI delegate.
protected void
uninstallDefaults()
This method uninstalls the defaults and nulls any objects created during install.
protected void
uninstallKeyboardActions()
This method reverses the work done in installKeyboardActions.
protected void
uninstallListeners()
Unregisters all the listeners that this UI delegate was using.
void
uninstallUI(JComponent c)
Performs the opposite of installUI.

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, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Details

changeListener

protected ChangeListener changeListener


containerListener

protected ContainerListener containerListener


menuBar

protected JMenuBar menuBar


propertyChangeListener

protected PropertyChangeListener propertyChangeListener

Constructor Details

BasicMenuBarUI

public BasicMenuBarUI()
Creates a new BasicMenuBarUI object.

Method Details

createChangeListener

protected ChangeListener createChangeListener()
Creates ChangeListener

Returns:
The ChangeListener


createContainerListener

protected ContainerListener createContainerListener()
Creates ContainerListener() to listen for ContainerEvents fired by JMenuBar.

Returns:
The ContainerListener


createUI

public static ComponentUI createUI(JComponent x)
Factory method to create a BasicMenuBarUI for the given JComponent, which should be a JMenuBar.
Overrides:
createUI in interface ComponentUI

Parameters:
x - The JComponent a UI is being created for.

Returns:
A BasicMenuBarUI for the JComponent.


getMaximumSize

public Dimension getMaximumSize(JComponent c)
Returns maximum size for the specified menu bar
Overrides:
getMaximumSize in interface ComponentUI

Parameters:
c - component for which to get maximum size

Returns:
Maximum size for the specified menu bar


getMinimumSize

public Dimension getMinimumSize(JComponent c)
Returns maximum allowed size of JMenuBar.
Overrides:
getMinimumSize in interface ComponentUI

Parameters:
c - menuBar for which to return maximum size

Returns:
Maximum size of the give menu bar.


getPreferredSize

public Dimension getPreferredSize(JComponent c)
Returns preferred size of JMenuBar.
Overrides:
getPreferredSize in interface ComponentUI

Parameters:
c - menuBar for which to return preferred size

Returns:
Preferred size of the give menu bar.


installDefaults

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


installKeyboardActions

protected void installKeyboardActions()
This method installs the keyboard actions for the JMenuBar.


installListeners

protected void installListeners()
This method installs the listeners needed for this UI to function.


installUI

public void installUI(JComponent c)
Installs and initializes all fields for this UI delegate. Any properties of the UI that need to be initialized and/or set to defaults will be done now. It will also install any listeners necessary.
Overrides:
installUI in interface ComponentUI

Parameters:
c - The JComponent that is having this UI installed.


uninstallDefaults

protected void uninstallDefaults()
This method uninstalls the defaults and nulls any objects created during install.


uninstallKeyboardActions

protected void uninstallKeyboardActions()
This method reverses the work done in installKeyboardActions.


uninstallListeners

protected void uninstallListeners()
Unregisters all the listeners that this UI delegate was using.


uninstallUI

public void uninstallUI(JComponent c)
Performs the opposite of installUI. Any properties or resources that need to be cleaned up will be done now. It will also uninstall any listeners it has. In addition, any properties of this UI will be nulled.
Overrides:
uninstallUI in interface ComponentUI

Parameters:
c - The JComponent that is having this UI uninstalled.


BasicMenuBarUI.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.