home *** CD-ROM | disk | FTP | other *** search
/ Computer Shopper 144 / DPCS0200.iso / Internet / Supanet / system / swing.jar / javax / swing / AbstractAction.class (.txt) next >
Encoding:
Java Class File  |  1998-11-05  |  2.1 KB  |  85 lines

  1. package javax.swing;
  2.  
  3. import java.awt.event.ActionEvent;
  4. import java.beans.PropertyChangeListener;
  5. import java.io.Serializable;
  6. import java.util.Hashtable;
  7. import javax.swing.event.SwingPropertyChangeSupport;
  8.  
  9. public abstract class AbstractAction implements Action, Cloneable, Serializable {
  10.    protected boolean enabled;
  11.    private Hashtable keyTable;
  12.    protected SwingPropertyChangeSupport changeSupport;
  13.  
  14.    public AbstractAction() {
  15.       this.enabled = true;
  16.       this.keyTable = new Hashtable(5);
  17.    }
  18.  
  19.    public AbstractAction(String var1) {
  20.       this.enabled = true;
  21.       this.keyTable = new Hashtable(5);
  22.       this.putValue("Name", var1);
  23.    }
  24.  
  25.    public AbstractAction(String var1, Icon var2) {
  26.       this(var1);
  27.       this.putValue("SmallIcon", var2);
  28.    }
  29.  
  30.    public abstract void actionPerformed(ActionEvent var1);
  31.  
  32.    public synchronized void addPropertyChangeListener(PropertyChangeListener var1) {
  33.       if (this.changeSupport == null) {
  34.          this.changeSupport = new SwingPropertyChangeSupport(this);
  35.       }
  36.  
  37.       this.changeSupport.addPropertyChangeListener(var1);
  38.    }
  39.  
  40.    protected Object clone() throws CloneNotSupportedException {
  41.       AbstractAction var1 = (AbstractAction)super.clone();
  42.       var1.keyTable = (Hashtable)this.keyTable.clone();
  43.       return var1;
  44.    }
  45.  
  46.    protected void firePropertyChange(String var1, Object var2, Object var3) {
  47.       if (this.changeSupport != null) {
  48.          this.changeSupport.firePropertyChange(var1, var2, var3);
  49.       }
  50.    }
  51.  
  52.    public Object getValue(String var1) {
  53.       return this.keyTable.get(var1);
  54.    }
  55.  
  56.    public boolean isEnabled() {
  57.       return this.enabled;
  58.    }
  59.  
  60.    public synchronized void putValue(String var1, Object var2) {
  61.       Object var3 = null;
  62.       if (this.keyTable.containsKey(var1)) {
  63.          var3 = this.keyTable.get(var1);
  64.       }
  65.  
  66.       if (var2 != null) {
  67.          this.keyTable.put(var1, var2);
  68.       }
  69.  
  70.       this.firePropertyChange(var1, var3, var2);
  71.    }
  72.  
  73.    public synchronized void removePropertyChangeListener(PropertyChangeListener var1) {
  74.       if (this.changeSupport != null) {
  75.          this.changeSupport.removePropertyChangeListener(var1);
  76.       }
  77.    }
  78.  
  79.    public synchronized void setEnabled(boolean var1) {
  80.       boolean var2 = this.enabled;
  81.       this.enabled = var1;
  82.       this.firePropertyChange("enabled", new Boolean(var2), new Boolean(var1));
  83.    }
  84. }
  85.