javax.swing.plaf.multi

Class MultiPopupMenuUI


public class MultiPopupMenuUI
extends PopupMenuUI

A UI delegate that that coordinates multiple PopupMenuUI instances, one from the primary look and feel, and one or more from the auxiliary look and feel(s).
See Also:
UIManager.addAuxiliaryLookAndFeel(LookAndFeel)

Field Summary

protected Vector<T>
uis
A list of references to the actual component UIs.

Constructor Summary

MultiPopupMenuUI()
Creates a new MultiPopupMenuUI instance.

Method Summary

boolean
contains(JComponent c, int x, int y)
Calls the ComponentUI.contains(JComponent,int,int) method for all the UI delegates managed by this MultiPopupMenuUI, returning the result for the UI delegate from the primary look and feel.
static ComponentUI
createUI(JComponent target)
Creates a delegate object for the specified component.
Accessible
getAccessibleChild(JComponent c, int i)
Calls the ComponentUI.getAccessibleChild(JComponent,int) method for all the UI delegates managed by this MultiPopupMenuUI, returning the child for the UI delegate from the primary look and feel.
int
getAccessibleChildrenCount(JComponent c)
Calls the ComponentUI.getAccessibleChildrenCount(JComponent) method for all the UI delegates managed by this MultiPopupMenuUI, returning the count for the UI delegate from the primary look and feel.
Dimension
getMaximumSize(JComponent c)
Calls the ComponentUI.getMaximumSize(JComponent) method for all the UI delegates managed by this MultiPopupMenuUI, returning the maximum size for the UI delegate from the primary look and feel.
Dimension
getMinimumSize(JComponent c)
Calls the ComponentUI.getMinimumSize(JComponent) method for all the UI delegates managed by this MultiPopupMenuUI, returning the minimum size for the UI delegate from the primary look and feel.
Dimension
getPreferredSize(JComponent c)
Calls the ComponentUI.getPreferredSize(JComponent) method for all the UI delegates managed by this MultiPopupMenuUI, returning the preferred size for the UI delegate from the primary look and feel.
ComponentUI[]
getUIs()
Returns an array containing the UI delegates managed by this MultiPopupMenuUI.
void
installUI(JComponent c)
Calls the ComponentUI.installUI(JComponent) method for all the UI delegates managed by this MultiPopupMenuUI.
void
paint(Graphics g, JComponent c)
Calls the paint(Graphics, JComponent) method for all the UI delegates managed by this MultiPopupMenuUI.
void
uninstallUI(JComponent c)
Calls the ComponentUI.uninstallUI(JComponent) method for all the UI delegates managed by this MultiPopupMenuUI.
void
update(Graphics g, JComponent c)
Calls the ComponentUI.update(Graphics,JComponent) method for all the UI delegates managed by this MultiPopupMenuUI.

Methods inherited from class javax.swing.plaf.PopupMenuUI

getPopup, isPopupTrigger

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

uis

protected Vector<T> uis
A list of references to the actual component UIs.

Constructor Details

MultiPopupMenuUI

public MultiPopupMenuUI()
Creates a new MultiPopupMenuUI instance.

Method Details

contains

public boolean contains(JComponent c,
                        int x,
                        int y)
Calls the ComponentUI.contains(JComponent,int,int) method for all the UI delegates managed by this MultiPopupMenuUI, returning the result for the UI delegate from the primary look and feel.
Overrides:
contains in interface ComponentUI
Parameters:
c - the component.
x - the x-coordinate.
y - the y-coordinate.
Returns:
true if the specified (x, y) coordinate falls within the bounds of the component as rendered by the UI delegate in the primary look and feel, and false otherwise.

createUI

public static ComponentUI createUI(JComponent target)
Creates a delegate object for the specified component. If any auxiliary look and feels support this component, a MultiPopupMenuUI is returned, otherwise the UI from the default look and feel is returned.
Overrides:
createUI in interface ComponentUI
Parameters:
target - the component.

getAccessibleChild

public Accessible getAccessibleChild(JComponent c,
                                     int i)
Calls the ComponentUI.getAccessibleChild(JComponent,int) method for all the UI delegates managed by this MultiPopupMenuUI, returning the child for the UI delegate from the primary look and feel.
Overrides:
getAccessibleChild in interface ComponentUI
Parameters:
c - the component
i - the child index.
Returns:
The child returned by the UI delegate from the primary look and feel.

getAccessibleChildrenCount

public int getAccessibleChildrenCount(JComponent c)
Calls the ComponentUI.getAccessibleChildrenCount(JComponent) method for all the UI delegates managed by this MultiPopupMenuUI, returning the count for the UI delegate from the primary look and feel.
Overrides:
getAccessibleChildrenCount in interface ComponentUI
Parameters:
c - the component.
Returns:
The count returned by the UI delegate from the primary look and feel.

getMaximumSize

public Dimension getMaximumSize(JComponent c)
Calls the ComponentUI.getMaximumSize(JComponent) method for all the UI delegates managed by this MultiPopupMenuUI, returning the maximum size for the UI delegate from the primary look and feel.
Overrides:
getMaximumSize in interface ComponentUI
Parameters:
c - the component.
Returns:
The maximum size returned by the UI delegate from the primary look and feel.

getMinimumSize

public Dimension getMinimumSize(JComponent c)
Calls the ComponentUI.getMinimumSize(JComponent) method for all the UI delegates managed by this MultiPopupMenuUI, returning the minimum size for the UI delegate from the primary look and feel.
Overrides:
getMinimumSize in interface ComponentUI
Parameters:
c - the component.
Returns:
The minimum size returned by the UI delegate from the primary look and feel.

getPreferredSize

public Dimension getPreferredSize(JComponent c)
Calls the ComponentUI.getPreferredSize(JComponent) method for all the UI delegates managed by this MultiPopupMenuUI, returning the preferred size for the UI delegate from the primary look and feel.
Overrides:
getPreferredSize in interface ComponentUI
Parameters:
c - the component.
Returns:
The preferred size returned by the UI delegate from the primary look and feel.

getUIs

public ComponentUI[] getUIs()
Returns an array containing the UI delegates managed by this MultiPopupMenuUI. The first item in the array is always the UI delegate from the installed default look and feel.
Returns:
An array of UI delegates.

installUI

public void installUI(JComponent c)
Calls the ComponentUI.installUI(JComponent) method for all the UI delegates managed by this MultiPopupMenuUI.
Overrides:
installUI in interface ComponentUI
Parameters:
c - the component.

paint

public void paint(Graphics g,
                  JComponent c)
Calls the paint(Graphics, JComponent) method for all the UI delegates managed by this MultiPopupMenuUI.
Overrides:
paint in interface ComponentUI
Parameters:
g - the graphics device.
c - the component.

uninstallUI

public void uninstallUI(JComponent c)
Calls the ComponentUI.uninstallUI(JComponent) method for all the UI delegates managed by this MultiPopupMenuUI.
Overrides:
uninstallUI in interface ComponentUI
Parameters:
c - the component.

update

public void update(Graphics g,
                   JComponent c)
Calls the ComponentUI.update(Graphics,JComponent) method for all the UI delegates managed by this MultiPopupMenuUI.
Overrides:
update in interface ComponentUI
Parameters:
g - the graphics device.
c - the component.

MultiPopupMenuUI.java -- Copyright (C) 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.