home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 2000 March / pcp161a.iso / handson / files / copyjava.exe / com / sun / java / swing / JMenuItem.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-02-26  |  4.7 KB  |  146 lines

  1. package com.sun.java.swing;
  2.  
  3. import com.sun.java.accessibility.Accessible;
  4. import com.sun.java.accessibility.AccessibleContext;
  5. import com.sun.java.accessibility.AccessibleState;
  6. import com.sun.java.swing.plaf.MenuItemUI;
  7. import java.awt.Component;
  8. import java.awt.Container;
  9. import java.awt.event.KeyEvent;
  10. import java.awt.event.MouseEvent;
  11.  
  12. public class JMenuItem extends AbstractButton implements Accessible, MenuElement {
  13.    private KeyStroke accelerator;
  14.  
  15.    public JMenuItem() {
  16.       this((String)null, (Icon)null);
  17.       ((JComponent)this).setRequestFocusEnabled(false);
  18.    }
  19.  
  20.    public JMenuItem(Icon var1) {
  21.       this((String)null, var1);
  22.       ((JComponent)this).setRequestFocusEnabled(false);
  23.    }
  24.  
  25.    public JMenuItem(String var1) {
  26.       this(var1, (Icon)null);
  27.    }
  28.  
  29.    public JMenuItem(String var1, Icon var2) {
  30.       ((AbstractButton)this).setModel(new DefaultButtonModel());
  31.       this.init(var1, var2);
  32.       ((AbstractButton)this).setBorderPainted(false);
  33.       ((AbstractButton)this).setFocusPainted(false);
  34.       ((AbstractButton)this).setHorizontalTextPosition(2);
  35.       ((AbstractButton)this).setHorizontalAlignment(2);
  36.       this.updateUI();
  37.    }
  38.  
  39.    public JMenuItem(String var1, int var2) {
  40.       ((AbstractButton)this).setModel(new DefaultButtonModel());
  41.       this.init(var1, (Icon)null);
  42.       ((AbstractButton)this).setBorderPainted(false);
  43.       ((AbstractButton)this).setFocusPainted(false);
  44.       ((AbstractButton)this).setHorizontalTextPosition(2);
  45.       ((AbstractButton)this).setHorizontalAlignment(2);
  46.       ((AbstractButton)this).setMnemonic(var2);
  47.       this.updateUI();
  48.    }
  49.  
  50.    protected void init(String var1, Icon var2) {
  51.       ((Container)this).setLayout(new OverlayLayout(this));
  52.       if (var1 != null) {
  53.          ((AbstractButton)this).setText(var1);
  54.       }
  55.  
  56.       if (var2 != null) {
  57.          ((AbstractButton)this).setIcon(var2);
  58.       }
  59.  
  60.       ((Component)this).addFocusListener(new MenuItemFocusListener());
  61.    }
  62.  
  63.    public void setUI(MenuItemUI var1) {
  64.       super.setUI(var1);
  65.    }
  66.  
  67.    public void updateUI() {
  68.       this.setUI((MenuItemUI)UIManager.getUI(this));
  69.    }
  70.  
  71.    public String getUIClassID() {
  72.       return "MenuItemUI";
  73.    }
  74.  
  75.    public void setArmed(boolean var1) {
  76.       ButtonModel var2 = ((AbstractButton)this).getModel();
  77.       boolean var3 = var2.isArmed();
  78.       if (super.accessibleContext != null && var3 != var1) {
  79.          if (var1) {
  80.             super.accessibleContext.firePropertyChange("AccessibleState", (Object)null, AccessibleState.ARMED);
  81.          } else {
  82.             super.accessibleContext.firePropertyChange("AccessibleState", AccessibleState.ARMED, (Object)null);
  83.          }
  84.       }
  85.  
  86.       if (var2.isArmed() != var1) {
  87.          var2.setArmed(var1);
  88.       }
  89.  
  90.    }
  91.  
  92.    public boolean isArmed() {
  93.       ButtonModel var1 = ((AbstractButton)this).getModel();
  94.       return var1.isArmed();
  95.    }
  96.  
  97.    public void setEnabled(boolean var1) {
  98.       if (!var1) {
  99.          this.setArmed(false);
  100.       }
  101.  
  102.       super.setEnabled(var1);
  103.    }
  104.  
  105.    public void setAccelerator(KeyStroke var1) {
  106.       if (this.accelerator != null) {
  107.          ((JComponent)this).unregisterKeyboardAction(this.accelerator);
  108.       }
  109.  
  110.       ((JComponent)this).registerKeyboardAction(new 1(this), var1, 2);
  111.       this.accelerator = var1;
  112.    }
  113.  
  114.    public KeyStroke getAccelerator() {
  115.       return this.accelerator;
  116.    }
  117.  
  118.    public void processMouseEvent(MouseEvent var1, MenuElement[] var2, MenuSelectionManager var3) {
  119.       ((MenuItemUI)((AbstractButton)this).getUI()).processMouseEvent(this, var1, var2, var3);
  120.    }
  121.  
  122.    public void processKeyEvent(KeyEvent var1, MenuElement[] var2, MenuSelectionManager var3) {
  123.       ((MenuItemUI)((AbstractButton)this).getUI()).processKeyEvent(this, var1, var2, var3);
  124.    }
  125.  
  126.    public void menuSelectionChanged(boolean var1) {
  127.       this.setArmed(var1);
  128.    }
  129.  
  130.    public MenuElement[] getSubElements() {
  131.       return new MenuElement[0];
  132.    }
  133.  
  134.    public Component getComponent() {
  135.       return this;
  136.    }
  137.  
  138.    public AccessibleContext getAccessibleContext() {
  139.       if (super.accessibleContext == null) {
  140.          super.accessibleContext = new AccessibleJMenuItem(this);
  141.       }
  142.  
  143.       return super.accessibleContext;
  144.    }
  145. }
  146.