FileDocCategorySizeDatePackage
MetalMenuBarUI.javaAPI DocJava SE 6 API3487Tue Jun 10 00:26:50 BST 2008javax.swing.plaf.metal

MetalMenuBarUI

public class MetalMenuBarUI extends BasicMenuBarUI
Metal implementation of MenuBarUI. This class is responsible for providing the metal look and feel for JMenuBars.
version
1.7 11/17/05
see
javax.swing.plaf.MenuBarUI
since
1.5

Fields Summary
Constructors Summary
Methods Summary
public static javax.swing.plaf.ComponentUIcreateUI(javax.swing.JComponent x)
Creates the ComponentUI implementation for the passed in component.

param
x JComponent to create the ComponentUI implementation for
return
ComponentUI implementation for x
throws
NullPointerException if x is null

        if (x == null) {
            throw new NullPointerException("Must pass in a non-null component");
        }
	return new MetalMenuBarUI();
    
public voidinstallUI(javax.swing.JComponent c)
Configures the specified component appropriate for the metal look and feel.

param
c the component where this UI delegate is being installed
throws
NullPointerException if c is null.

        super.installUI(c);
        MetalToolBarUI.register(c);
    
public voiduninstallUI(javax.swing.JComponent c)
Reverses configuration which was done on the specified component during installUI.

param
c the component where this UI delegate is being installed
throws
NullPointerException if c is null.

        super.uninstallUI(c);
        MetalToolBarUI.unregister(c);
    
public voidupdate(java.awt.Graphics g, javax.swing.JComponent c)
If necessary paints the background of the component, then invokes paint.

param
g Graphics to paint to
param
c JComponent painting on
throws
NullPointerException if g or c is null
see
javax.swing.plaf.ComponentUI#update
see
javax.swing.plaf.ComponentUI#paint
since
1.5

        boolean isOpaque = c.isOpaque();
        if (g == null) {
            throw new NullPointerException("Graphics must be non-null");
        }
        if (isOpaque && (c.getBackground() instanceof UIResource) &&
                        UIManager.get("MenuBar.gradient") != null) {
            if (MetalToolBarUI.doesMenuBarBorderToolBar((JMenuBar)c)) {
                JToolBar tb = (JToolBar)MetalToolBarUI.
                     findRegisteredComponentOfType(c, JToolBar.class);
                if (tb.isOpaque() &&tb.getBackground() instanceof UIResource) {
                    MetalUtils.drawGradient(c, g, "MenuBar.gradient", 0, 0,
                                            c.getWidth(), c.getHeight() +
                                            tb.getHeight(), true);
                    paint(g, c);
                    return;
                }
            }
            MetalUtils.drawGradient(c, g, "MenuBar.gradient", 0, 0,
                                    c.getWidth(), c.getHeight(),true);
            paint(g, c);
        }
        else {
            super.update(g, c);
        }