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

  1. package com.sun.java.swing;
  2.  
  3. import java.awt.event.ActionEvent;
  4. import java.beans.PropertyChangeListener;
  5. import java.beans.PropertyChangeSupport;
  6. import java.io.Serializable;
  7. import java.util.Hashtable;
  8.  
  9. public abstract class AbstractAction implements Action, Cloneable, Serializable {
  10.    protected boolean enabled;
  11.    private Hashtable keyTable;
  12.    protected PropertyChangeSupport 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 Object getValue(String var1) {
  31.       return this.keyTable.get(var1);
  32.    }
  33.  
  34.    public synchronized void putValue(String var1, Object var2) {
  35.       Object var3 = null;
  36.       if (this.keyTable.containsKey(var1)) {
  37.          var3 = this.keyTable.get(var1);
  38.       }
  39.  
  40.       this.keyTable.put(var1, var2);
  41.       this.firePropertyChange(var1, var3, var2);
  42.    }
  43.  
  44.    public boolean isEnabled() {
  45.       return this.enabled;
  46.    }
  47.  
  48.    public synchronized void setEnabled(boolean var1) {
  49.       boolean var2 = this.enabled;
  50.       this.enabled = var1;
  51.       this.firePropertyChange("enabled", new Boolean(var2), new Boolean(var1));
  52.    }
  53.  
  54.    protected void firePropertyChange(String var1, Object var2, Object var3) {
  55.       if (this.changeSupport != null) {
  56.          this.changeSupport.firePropertyChange(var1, var2, var3);
  57.       }
  58.    }
  59.  
  60.    public synchronized void addPropertyChangeListener(PropertyChangeListener var1) {
  61.       if (this.changeSupport == null) {
  62.          this.changeSupport = new PropertyChangeSupport(this);
  63.       }
  64.  
  65.       this.changeSupport.addPropertyChangeListener(var1);
  66.    }
  67.  
  68.    public synchronized void removePropertyChangeListener(PropertyChangeListener var1) {
  69.       if (this.changeSupport != null) {
  70.          this.changeSupport.removePropertyChangeListener(var1);
  71.       }
  72.    }
  73.  
  74.    public abstract void actionPerformed(ActionEvent var1);
  75. }
  76.