home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &… the Search for Life CD 3 / 0_CD-ROM.iso / install / jre1_3 / lib / rt.jar / javax / swing / plaf / basic / BasicMenuBarUI.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  4.8 KB  |  163 lines

  1. package javax.swing.plaf.basic;
  2.  
  3. import java.awt.Dimension;
  4. import java.awt.event.ContainerListener;
  5. import java.beans.PropertyChangeListener;
  6. import javax.swing.AbstractButton;
  7. import javax.swing.ActionMap;
  8. import javax.swing.InputMap;
  9. import javax.swing.JComponent;
  10. import javax.swing.JMenu;
  11. import javax.swing.JMenuBar;
  12. import javax.swing.LookAndFeel;
  13. import javax.swing.SwingUtilities;
  14. import javax.swing.UIManager;
  15. import javax.swing.event.ChangeListener;
  16. import javax.swing.plaf.ActionMapUIResource;
  17. import javax.swing.plaf.ComponentUI;
  18. import javax.swing.plaf.MenuBarUI;
  19. import javax.swing.plaf.UIResource;
  20.  
  21. public class BasicMenuBarUI extends MenuBarUI {
  22.    protected JMenuBar menuBar = null;
  23.    protected ContainerListener containerListener;
  24.    protected ChangeListener changeListener;
  25.    private PropertyChangeListener propertyChangeListener;
  26.  
  27.    public static ComponentUI createUI(JComponent var0) {
  28.       return new BasicMenuBarUI();
  29.    }
  30.  
  31.    public void installUI(JComponent var1) {
  32.       this.menuBar = (JMenuBar)var1;
  33.       this.installDefaults();
  34.       this.installListeners();
  35.       this.installKeyboardActions();
  36.    }
  37.  
  38.    protected void installDefaults() {
  39.       if (this.menuBar.getLayout() == null || this.menuBar.getLayout() instanceof UIResource) {
  40.          if (BasicGraphicsUtils.isLeftToRight(this.menuBar)) {
  41.             this.menuBar.setLayout(new DefaultMenuLayout(this.menuBar, 0));
  42.          } else {
  43.             this.menuBar.setLayout(new RightToLeftMenuLayout((1)null));
  44.          }
  45.       }
  46.  
  47.       this.menuBar.setOpaque(true);
  48.       LookAndFeel.installBorder(this.menuBar, "MenuBar.border");
  49.       LookAndFeel.installColorsAndFont(this.menuBar, "MenuBar.background", "MenuBar.foreground", "MenuBar.font");
  50.    }
  51.  
  52.    protected void installListeners() {
  53.       this.containerListener = this.createContainerListener();
  54.       this.changeListener = this.createChangeListener();
  55.       this.propertyChangeListener = this.createPropertyChangeListener();
  56.  
  57.       for(int var1 = 0; var1 < this.menuBar.getMenuCount(); ++var1) {
  58.          JMenu var2 = this.menuBar.getMenu(var1);
  59.          if (var2 != null) {
  60.             ((AbstractButton)var2).getModel().addChangeListener(this.changeListener);
  61.          }
  62.       }
  63.  
  64.       this.menuBar.addContainerListener(this.containerListener);
  65.       this.menuBar.addPropertyChangeListener(this.propertyChangeListener);
  66.    }
  67.  
  68.    protected void installKeyboardActions() {
  69.       InputMap var1 = this.getInputMap(2);
  70.       SwingUtilities.replaceUIInputMap(this.menuBar, 2, var1);
  71.       ActionMap var2 = this.getActionMap();
  72.       SwingUtilities.replaceUIActionMap(this.menuBar, var2);
  73.    }
  74.  
  75.    InputMap getInputMap(int var1) {
  76.       if (var1 == 2) {
  77.          Object[] var2 = UIManager.get("MenuBar.windowBindings");
  78.          if (var2 != null) {
  79.             return LookAndFeel.makeComponentInputMap(this.menuBar, var2);
  80.          }
  81.       }
  82.  
  83.       return null;
  84.    }
  85.  
  86.    ActionMap getActionMap() {
  87.       ActionMap var1 = (ActionMap)UIManager.get("MenuBar.actionMap");
  88.       if (var1 == null) {
  89.          var1 = this.createActionMap();
  90.          if (var1 != null) {
  91.             UIManager.put("MenuBar.actionMap", var1);
  92.          }
  93.       }
  94.  
  95.       return var1;
  96.    }
  97.  
  98.    ActionMap createActionMap() {
  99.       ActionMapUIResource var1 = new ActionMapUIResource();
  100.       ((ActionMap)var1).put("takeFocus", new TakeFocus());
  101.       return var1;
  102.    }
  103.  
  104.    public void uninstallUI(JComponent var1) {
  105.       this.uninstallDefaults();
  106.       this.uninstallListeners();
  107.       this.uninstallKeyboardActions();
  108.       this.menuBar = null;
  109.    }
  110.  
  111.    protected void uninstallDefaults() {
  112.       if (this.menuBar != null) {
  113.          LookAndFeel.uninstallBorder(this.menuBar);
  114.       }
  115.  
  116.    }
  117.  
  118.    protected void uninstallListeners() {
  119.       this.menuBar.removeContainerListener(this.containerListener);
  120.       this.menuBar.removePropertyChangeListener(this.propertyChangeListener);
  121.  
  122.       for(int var1 = 0; var1 < this.menuBar.getMenuCount(); ++var1) {
  123.          JMenu var2 = this.menuBar.getMenu(var1);
  124.          if (var2 != null) {
  125.             ((AbstractButton)var2).getModel().removeChangeListener(this.changeListener);
  126.          }
  127.       }
  128.  
  129.       this.containerListener = null;
  130.       this.changeListener = null;
  131.       this.propertyChangeListener = null;
  132.    }
  133.  
  134.    protected void uninstallKeyboardActions() {
  135.       SwingUtilities.replaceUIInputMap(this.menuBar, 2, (InputMap)null);
  136.       SwingUtilities.replaceUIActionMap(this.menuBar, (ActionMap)null);
  137.    }
  138.  
  139.    protected ContainerListener createContainerListener() {
  140.       return new ContainerHandler(this, (1)null);
  141.    }
  142.  
  143.    protected ChangeListener createChangeListener() {
  144.       return new ChangeHandler(this, (1)null);
  145.    }
  146.  
  147.    private PropertyChangeListener createPropertyChangeListener() {
  148.       return new PropertyChangeHandler(this, (1)null);
  149.    }
  150.  
  151.    public Dimension getPreferredSize(JComponent var1) {
  152.       return null;
  153.    }
  154.  
  155.    public Dimension getMinimumSize(JComponent var1) {
  156.       return null;
  157.    }
  158.  
  159.    public Dimension getMaximumSize(JComponent var1) {
  160.       return null;
  161.    }
  162. }
  163.