home *** CD-ROM | disk | FTP | other *** search
/ Computer Shopper 144 / DPCS0200.iso / Internet / Supanet / system / swing.jar / javax / swing / plaf / basic / BasicMenuUI$PostAction.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-11-05  |  1.6 KB  |  51 lines

  1. package javax.swing.plaf.basic;
  2.  
  3. import java.awt.Container;
  4. import java.awt.event.ActionEvent;
  5. import javax.swing.AbstractAction;
  6. import javax.swing.JMenu;
  7. import javax.swing.JMenuBar;
  8. import javax.swing.MenuElement;
  9. import javax.swing.MenuSelectionManager;
  10.  
  11. class BasicMenuUI$PostAction extends AbstractAction {
  12.    JMenu menu;
  13.    boolean force = false;
  14.  
  15.    BasicMenuUI$PostAction(JMenu var1, boolean var2) {
  16.       super("postAction");
  17.       this.menu = var1;
  18.       this.force = var2;
  19.    }
  20.  
  21.    public void actionPerformed(ActionEvent var1) {
  22.       MenuSelectionManager var2 = MenuSelectionManager.defaultManager();
  23.       if (this.force) {
  24.          Container var3 = this.menu.getParent();
  25.          if (var3 != null && var3 instanceof JMenuBar) {
  26.             MenuElement[] var5 = this.menu.getPopupMenu().getSubElements();
  27.             if (var5.length > 0) {
  28.                MenuElement[] var4 = new MenuElement[]{(MenuElement)var3, this.menu, this.menu.getPopupMenu(), var5[0]};
  29.                var2.setSelectedPath(var4);
  30.             } else {
  31.                MenuElement[] var7 = new MenuElement[]{(MenuElement)var3, this.menu};
  32.                var2.setSelectedPath(var7);
  33.             }
  34.          }
  35.       } else {
  36.          MenuElement[] var6 = var2.getSelectedPath();
  37.          if (var6.length > 0 && var6[var6.length - 1] == this.menu) {
  38.             MenuElement[] var8 = new MenuElement[var6.length + 1];
  39.             System.arraycopy(var6, 0, var8, 0, var6.length);
  40.             var8[var6.length] = this.menu.getPopupMenu();
  41.             MenuSelectionManager.defaultManager().setSelectedPath(var8);
  42.          }
  43.       }
  44.  
  45.    }
  46.  
  47.    public boolean isEnabled() {
  48.       return this.menu.getModel().isEnabled();
  49.    }
  50. }
  51.