home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &… the Search for Life CD 3 / 0_CD-ROM.iso / install / jre1_3 / lib / rt.jar / javax / swing / plaf / basic / BasicMenuUI$ChangeHandler.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  2.5 KB  |  108 lines

  1. package javax.swing.plaf.basic;
  2.  
  3. import java.awt.Component;
  4. import java.awt.Container;
  5. import java.awt.Window;
  6. import javax.swing.InputMap;
  7. import javax.swing.JComponent;
  8. import javax.swing.JMenu;
  9. import javax.swing.LookAndFeel;
  10. import javax.swing.SwingUtilities;
  11. import javax.swing.UIManager;
  12. import javax.swing.event.ChangeEvent;
  13. import javax.swing.event.ChangeListener;
  14.  
  15. public class BasicMenuUI$ChangeHandler implements ChangeListener {
  16.    public JMenu menu;
  17.    // $FF: renamed from: ui javax.swing.plaf.basic.BasicMenuUI
  18.    public BasicMenuUI field_0;
  19.    public boolean isSelected;
  20.    public Component wasFocused;
  21.    // $FF: synthetic field
  22.    private final BasicMenuUI this$0;
  23.  
  24.    public BasicMenuUI$ChangeHandler(BasicMenuUI var1, JMenu var2, BasicMenuUI var3) {
  25.       this.this$0 = var1;
  26.       this.isSelected = false;
  27.       this.menu = var2;
  28.       this.field_0 = var3;
  29.       this.validateKeyboardActions(this.menu.isSelected());
  30.    }
  31.  
  32.    public void stateChanged(ChangeEvent var1) {
  33.       this.validateKeyboardActions(this.menu.isSelected());
  34.    }
  35.  
  36.    private Component findFocusedComponent(Component var1) {
  37.       for(Container var2 = var1.getParent(); var2 != null; var2 = ((Component)var2).getParent()) {
  38.          if (var2 instanceof Window) {
  39.             return ((Window)var2).getFocusOwner();
  40.          }
  41.       }
  42.  
  43.       return null;
  44.    }
  45.  
  46.    private void validateKeyboardActions(boolean var1) {
  47.       if (var1 != this.isSelected) {
  48.          this.isSelected = var1;
  49.          if (this.isSelected) {
  50.             boolean var2 = this.menu.isRequestFocusEnabled();
  51.             this.wasFocused = this.findFocusedComponent(this.menu);
  52.             if (this.wasFocused instanceof JComponent && ((JComponent)this.wasFocused).getRootPane() != this.menu.getRootPane()) {
  53.                this.wasFocused = null;
  54.             }
  55.  
  56.             if (!var2) {
  57.                this.menu.setRequestFocusEnabled(true);
  58.             }
  59.  
  60.             this.menu.requestFocus();
  61.             if (!var2) {
  62.                this.menu.setRequestFocusEnabled(false);
  63.             }
  64.  
  65.             if (BasicMenuUI.access$1100(this.this$0) == null) {
  66.                Object[] var3 = UIManager.get("Menu.selectedWindowInputMapBindings");
  67.                if (var3 != null) {
  68.                   BasicMenuUI.access$1102(this.this$0, LookAndFeel.makeComponentInputMap(this.this$0.menuItem, var3));
  69.                }
  70.             }
  71.  
  72.             if (this.this$0.windowInputMap == null) {
  73.                this.this$0.windowInputMap = this.this$0.createInputMap(2);
  74.                SwingUtilities.replaceUIInputMap(this.this$0.menuItem, 2, this.this$0.windowInputMap);
  75.             }
  76.  
  77.             if (this.this$0.windowInputMap != null && BasicMenuUI.access$1100(this.this$0) != null) {
  78.                this.this$0.windowInputMap.setParent(BasicMenuUI.access$1100(this.this$0));
  79.             }
  80.          } else {
  81.             if (this.this$0.windowInputMap != null && BasicMenuUI.access$1100(this.this$0) != null) {
  82.                this.this$0.windowInputMap.setParent((InputMap)null);
  83.             }
  84.  
  85.             if (this.wasFocused != null) {
  86.                if (this.wasFocused instanceof JComponent) {
  87.                   JComponent var4 = (JComponent)this.wasFocused;
  88.                   boolean var5 = var4.isRequestFocusEnabled();
  89.                   if (!var5) {
  90.                      var4.setRequestFocusEnabled(true);
  91.                   }
  92.  
  93.                   this.wasFocused.requestFocus();
  94.                   if (!var5) {
  95.                      var4.setRequestFocusEnabled(false);
  96.                   }
  97.                } else {
  98.                   this.wasFocused.requestFocus();
  99.                }
  100.  
  101.                this.wasFocused = null;
  102.             }
  103.          }
  104.       }
  105.  
  106.    }
  107. }
  108.