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