home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &n…he Search for Life DVD 2 / DVD-ROM.iso / install / jre1_3 / lib / rt.jar / javax / swing / JMenuBar.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  6.0 KB  |  272 lines

  1. package javax.swing;
  2.  
  3. import java.awt.Component;
  4. import java.awt.Container;
  5. import java.awt.Graphics;
  6. import java.awt.Insets;
  7. import java.awt.event.KeyEvent;
  8. import java.awt.event.MouseEvent;
  9. import java.io.IOException;
  10. import java.io.ObjectInputStream;
  11. import java.io.ObjectOutputStream;
  12. import java.io.Serializable;
  13. import java.util.Vector;
  14. import javax.accessibility.Accessible;
  15. import javax.accessibility.AccessibleContext;
  16. import javax.swing.plaf.MenuBarUI;
  17.  
  18. public class JMenuBar extends JComponent implements Accessible, MenuElement {
  19.    private static final String uiClassID = "MenuBarUI";
  20.    private transient SingleSelectionModel selectionModel;
  21.    private boolean paintBorder = true;
  22.    private Insets margin = null;
  23.    private static final boolean TRACE = false;
  24.    private static final boolean VERBOSE = false;
  25.    private static final boolean DEBUG = false;
  26.  
  27.    public JMenuBar() {
  28.       this.setSelectionModel(new DefaultSingleSelectionModel());
  29.       this.updateUI();
  30.    }
  31.  
  32.    public MenuBarUI getUI() {
  33.       return (MenuBarUI)super.ui;
  34.    }
  35.  
  36.    public void setUI(MenuBarUI var1) {
  37.       super.setUI(var1);
  38.    }
  39.  
  40.    public void updateUI() {
  41.       this.setUI((MenuBarUI)UIManager.getUI(this));
  42.    }
  43.  
  44.    public String getUIClassID() {
  45.       return "MenuBarUI";
  46.    }
  47.  
  48.    public SingleSelectionModel getSelectionModel() {
  49.       return this.selectionModel;
  50.    }
  51.  
  52.    public void setSelectionModel(SingleSelectionModel var1) {
  53.       SingleSelectionModel var2 = this.selectionModel;
  54.       this.selectionModel = var1;
  55.       ((JComponent)this).firePropertyChange("selectionModel", var2, this.selectionModel);
  56.    }
  57.  
  58.    public JMenu add(JMenu var1) {
  59.       super.add(var1);
  60.       return var1;
  61.    }
  62.  
  63.    public JMenu getMenu(int var1) {
  64.       Component var2 = this.getComponentAtIndex(var1);
  65.       return var2 instanceof JMenu ? (JMenu)var2 : null;
  66.    }
  67.  
  68.    public int getMenuCount() {
  69.       return ((Container)this).getComponentCount();
  70.    }
  71.  
  72.    public void setHelpMenu(JMenu var1) {
  73.       throw new Error("setHelpMenu() not yet implemented.");
  74.    }
  75.  
  76.    public JMenu getHelpMenu() {
  77.       throw new Error("getHelpMenu() not yet implemented.");
  78.    }
  79.  
  80.    public Component getComponentAtIndex(int var1) {
  81.       return ((Container)this).getComponent(var1);
  82.    }
  83.  
  84.    public int getComponentIndex(Component var1) {
  85.       int var2 = ((Container)this).getComponentCount();
  86.       Component[] var3 = ((Container)this).getComponents();
  87.  
  88.       for(int var4 = 0; var4 < var2; ++var4) {
  89.          Component var5 = var3[var4];
  90.          if (var5 == var1) {
  91.             return var4;
  92.          }
  93.       }
  94.  
  95.       return -1;
  96.    }
  97.  
  98.    public void setSelected(Component var1) {
  99.       SingleSelectionModel var2 = this.getSelectionModel();
  100.       int var3 = this.getComponentIndex(var1);
  101.       var2.setSelectedIndex(var3);
  102.    }
  103.  
  104.    public boolean isSelected() {
  105.       return this.selectionModel.isSelected();
  106.    }
  107.  
  108.    public boolean isBorderPainted() {
  109.       return this.paintBorder;
  110.    }
  111.  
  112.    public void setBorderPainted(boolean var1) {
  113.       boolean var2 = this.paintBorder;
  114.       this.paintBorder = var1;
  115.       ((JComponent)this).firePropertyChange("borderPainted", var2, this.paintBorder);
  116.       if (var1 != var2) {
  117.          ((JComponent)this).revalidate();
  118.          ((Component)this).repaint();
  119.       }
  120.  
  121.    }
  122.  
  123.    protected void paintBorder(Graphics var1) {
  124.       if (this.isBorderPainted()) {
  125.          super.paintBorder(var1);
  126.       }
  127.  
  128.    }
  129.  
  130.    public void setMargin(Insets var1) {
  131.       Insets var2 = this.margin;
  132.       this.margin = var1;
  133.       ((JComponent)this).firePropertyChange("margin", var2, var1);
  134.       if (var2 == null || !var1.equals(var2)) {
  135.          ((JComponent)this).revalidate();
  136.          ((Component)this).repaint();
  137.       }
  138.  
  139.    }
  140.  
  141.    public Insets getMargin() {
  142.       return this.margin == null ? new Insets(0, 0, 0, 0) : this.margin;
  143.    }
  144.  
  145.    public void processMouseEvent(MouseEvent var1, MenuElement[] var2, MenuSelectionManager var3) {
  146.    }
  147.  
  148.    public void processKeyEvent(KeyEvent var1, MenuElement[] var2, MenuSelectionManager var3) {
  149.    }
  150.  
  151.    public void menuSelectionChanged(boolean var1) {
  152.    }
  153.  
  154.    public MenuElement[] getSubElements() {
  155.       Vector var2 = new Vector();
  156.       int var3 = ((Container)this).getComponentCount();
  157.  
  158.       for(int var4 = 0; var4 < var3; ++var4) {
  159.          Component var5 = ((Container)this).getComponent(var4);
  160.          if (var5 instanceof MenuElement) {
  161.             var2.addElement(var5);
  162.          }
  163.       }
  164.  
  165.       MenuElement[] var1 = new MenuElement[var2.size()];
  166.       int var7 = 0;
  167.  
  168.       for(int var6 = var2.size(); var7 < var6; ++var7) {
  169.          var1[var7] = (MenuElement)var2.elementAt(var7);
  170.       }
  171.  
  172.       return var1;
  173.    }
  174.  
  175.    public Component getComponent() {
  176.       return this;
  177.    }
  178.  
  179.    protected String paramString() {
  180.       String var1 = this.paintBorder ? "true" : "false";
  181.       String var2 = this.margin != null ? this.margin.toString() : "";
  182.       return super.paramString() + ",margin=" + var2 + ",paintBorder=" + var1;
  183.    }
  184.  
  185.    public AccessibleContext getAccessibleContext() {
  186.       if (super.accessibleContext == null) {
  187.          super.accessibleContext = new AccessibleJMenuBar(this);
  188.       }
  189.  
  190.       return super.accessibleContext;
  191.    }
  192.  
  193.    public boolean isManagingFocus() {
  194.       return true;
  195.    }
  196.  
  197.    protected boolean processKeyBinding(KeyStroke var1, KeyEvent var2, int var3, boolean var4) {
  198.       boolean var5 = super.processKeyBinding(var1, var2, var3, var4);
  199.       if (!var5) {
  200.          Component[] var6 = ((Container)this).getComponents();
  201.  
  202.          for(int var7 = 0; var7 < var6.length; ++var7) {
  203.             if (var6[var7] instanceof JMenu && processBindingForKeyStrokeRecursive((JComponent)var6[var7], var1, var2, var3, var4)) {
  204.                return true;
  205.             }
  206.          }
  207.       }
  208.  
  209.       return var5;
  210.    }
  211.  
  212.    static boolean processBindingForKeyStrokeRecursive(JComponent var0, KeyStroke var1, KeyEvent var2, int var3, boolean var4) {
  213.       if (var0 == null) {
  214.          return false;
  215.       } else if (var0.processKeyBinding(var1, var2, var3, var4)) {
  216.          return true;
  217.       } else {
  218.          if (var0 instanceof JMenu) {
  219.             JMenu var5 = (JMenu)var0;
  220.             Component[] var6 = var5.getMenuComponents();
  221.             if (var6 != null) {
  222.                for(int var7 = 0; var7 < var6.length; ++var7) {
  223.                   if (var6[var7] instanceof JMenuItem && processBindingForKeyStrokeRecursive((JComponent)var6[var7], var1, var2, var3, var4)) {
  224.                      return true;
  225.                   }
  226.                }
  227.             }
  228.          }
  229.  
  230.          return false;
  231.       }
  232.    }
  233.  
  234.    public void addNotify() {
  235.       super.addNotify();
  236.       KeyboardManager.getCurrentManager().registerMenuBar(this);
  237.    }
  238.  
  239.    public void removeNotify() {
  240.       super.removeNotify();
  241.       KeyboardManager.getCurrentManager().unregisterMenuBar(this);
  242.    }
  243.  
  244.    private void writeObject(ObjectOutputStream var1) throws IOException {
  245.       var1.defaultWriteObject();
  246.       Object[] var2 = new Object[4];
  247.       int var3 = 0;
  248.       if (this.selectionModel instanceof Serializable) {
  249.          var2[var3++] = "selectionModel";
  250.          var2[var3++] = this.selectionModel;
  251.       }
  252.  
  253.       var1.writeObject(var2);
  254.    }
  255.  
  256.    private void readObject(ObjectInputStream var1) throws IOException, ClassNotFoundException {
  257.       var1.defaultReadObject();
  258.       Object[] var2 = var1.readObject();
  259.  
  260.       for(int var3 = 0; var3 < var2.length && var2[var3] != null; var3 += 2) {
  261.          if (var2[var3].equals("selectionModel")) {
  262.             this.selectionModel = (SingleSelectionModel)var2[var3 + 1];
  263.          }
  264.       }
  265.  
  266.       if (super.ui != null && this.getUIClassID().equals("MenuBarUI")) {
  267.          super.ui.installUI(this);
  268.       }
  269.  
  270.    }
  271. }
  272.