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

  1. package com.sun.java.swing.plaf.basic;
  2.  
  3. import com.sun.java.swing.AbstractAction;
  4. import com.sun.java.swing.JMenu;
  5. import com.sun.java.swing.JMenuBar;
  6. import com.sun.java.swing.MenuElement;
  7. import com.sun.java.swing.MenuSelectionManager;
  8. import java.awt.Container;
  9. import java.awt.event.ActionEvent;
  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[] var7 = new MenuElement[]{(MenuElement)var3, this.menu, this.menu.getPopupMenu(), var5[0]};
  29.                var2.setSelectedPath(var7);
  30.                return;
  31.             }
  32.  
  33.             MenuElement[] var4 = new MenuElement[]{(MenuElement)var3, this.menu};
  34.             var2.setSelectedPath(var4);
  35.             return;
  36.          }
  37.       } else {
  38.          MenuElement[] var6 = var2.getSelectedPath();
  39.          if (var6.length > 0 && var6[var6.length - 1] == this.menu) {
  40.             MenuElement[] var8 = new MenuElement[var6.length + 1];
  41.             System.arraycopy(var6, 0, var8, 0, var6.length);
  42.             var8[var6.length] = this.menu.getPopupMenu();
  43.             MenuSelectionManager.defaultManager().setSelectedPath(var8);
  44.          }
  45.       }
  46.  
  47.    }
  48.  
  49.    public boolean isEnabled() {
  50.       return this.menu.getModel().isEnabled();
  51.    }
  52. }
  53.