home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD 31 / SUPERCDa.iso / Inet / HotJava / hjava.exe / Windows / resource / jre / lib / rt.jar / java / awt / MenuComponent.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-11-11  |  3.2 KB  |  144 lines

  1. package java.awt;
  2.  
  3. import java.awt.event.ActionEvent;
  4. import java.awt.peer.MenuComponentPeer;
  5. import java.io.Serializable;
  6.  
  7. public abstract class MenuComponent implements Serializable {
  8.    transient MenuComponentPeer peer;
  9.    transient MenuContainer parent;
  10.    Font font;
  11.    private String name;
  12.    private boolean nameExplicitlySet = false;
  13.    boolean newEventsOnly = false;
  14.    static final String actionListenerK = "actionL";
  15.    static final String itemListenerK = "itemL";
  16.    private static final long serialVersionUID = -4536902356223894379L;
  17.  
  18.    String constructComponentName() {
  19.       return null;
  20.    }
  21.  
  22.    public String getName() {
  23.       if (this.name == null && !this.nameExplicitlySet) {
  24.          synchronized(this){}
  25.  
  26.          try {
  27.             if (this.name == null && !this.nameExplicitlySet) {
  28.                this.name = this.constructComponentName();
  29.             }
  30.          } catch (Throwable var3) {
  31.             throw var3;
  32.          }
  33.       }
  34.  
  35.       return this.name;
  36.    }
  37.  
  38.    public void setName(String var1) {
  39.       synchronized(this){}
  40.  
  41.       try {
  42.          this.name = var1;
  43.          this.nameExplicitlySet = true;
  44.       } catch (Throwable var4) {
  45.          throw var4;
  46.       }
  47.  
  48.    }
  49.  
  50.    public MenuContainer getParent() {
  51.       return this.parent;
  52.    }
  53.  
  54.    /** @deprecated */
  55.    public MenuComponentPeer getPeer() {
  56.       return this.peer;
  57.    }
  58.  
  59.    public Font getFont() {
  60.       Font var1 = this.font;
  61.       if (var1 != null) {
  62.          return var1;
  63.       } else {
  64.          MenuContainer var2 = this.parent;
  65.          return var2 != null ? var2.getFont() : null;
  66.       }
  67.    }
  68.  
  69.    public void setFont(Font var1) {
  70.       this.font = var1;
  71.    }
  72.  
  73.    public void removeNotify() {
  74.       Object var1 = this.getTreeLock();
  75.       synchronized(var1){}
  76.  
  77.       try {
  78.          MenuComponentPeer var3 = this.peer;
  79.          if (var3 != null) {
  80.             Toolkit.getEventQueue().removeSourceEvents(this);
  81.             this.peer = null;
  82.             var3.dispose();
  83.          }
  84.       } catch (Throwable var5) {
  85.          throw var5;
  86.       }
  87.  
  88.    }
  89.  
  90.    /** @deprecated */
  91.    public boolean postEvent(Event var1) {
  92.       MenuContainer var2 = this.parent;
  93.       if (var2 != null) {
  94.          var2.postEvent(var1);
  95.       }
  96.  
  97.       return false;
  98.    }
  99.  
  100.    public final void dispatchEvent(AWTEvent var1) {
  101.       this.dispatchEventImpl(var1);
  102.    }
  103.  
  104.    void dispatchEventImpl(AWTEvent var1) {
  105.       if (this.newEventsOnly || this.parent != null && this.parent instanceof MenuComponent && ((MenuComponent)this.parent).newEventsOnly) {
  106.          if (this.eventEnabled(var1)) {
  107.             this.processEvent(var1);
  108.             return;
  109.          }
  110.  
  111.          if (var1 instanceof ActionEvent && this.parent != null) {
  112.             ((MenuComponent)this.parent).dispatchEvent(new ActionEvent(this.parent, var1.getID(), ((ActionEvent)var1).getActionCommand()));
  113.             return;
  114.          }
  115.       } else {
  116.          Event var2 = var1.convertToOld();
  117.          if (var2 != null) {
  118.             this.postEvent(var2);
  119.          }
  120.       }
  121.  
  122.    }
  123.  
  124.    boolean eventEnabled(AWTEvent var1) {
  125.       return false;
  126.    }
  127.  
  128.    protected void processEvent(AWTEvent var1) {
  129.    }
  130.  
  131.    protected String paramString() {
  132.       String var1 = this.getName();
  133.       return var1 != null ? var1 : "";
  134.    }
  135.  
  136.    public String toString() {
  137.       return this.getClass().getName() + "[" + this.paramString() + "]";
  138.    }
  139.  
  140.    protected final Object getTreeLock() {
  141.       return Component.LOCK;
  142.    }
  143. }
  144.