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 / Component$NativeInLightFixer.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-11-11  |  2.5 KB  |  123 lines

  1. package java.awt;
  2.  
  3. import java.awt.event.ComponentEvent;
  4. import java.awt.event.ComponentListener;
  5. import java.awt.event.ContainerEvent;
  6. import java.awt.event.ContainerListener;
  7. import java.awt.peer.LightweightPeer;
  8. import java.util.Vector;
  9.  
  10. final class Component$NativeInLightFixer implements ComponentListener, ContainerListener {
  11.    // $FF: synthetic field
  12.    private final Component this$0;
  13.    Vector lightParents;
  14.    Container nativeHost;
  15.  
  16.    Component$NativeInLightFixer(Component var1) {
  17.       this.this$0 = var1;
  18.       this.this$0 = var1;
  19.       this.lightParents = new Vector();
  20.  
  21.       Container var2;
  22.       for(var2 = var1.parent; var2.peer instanceof LightweightPeer; var2 = var2.parent) {
  23.          ((Component)var2).addComponentListener(this);
  24.          var2.addContainerListener(this);
  25.          this.lightParents.addElement(var2);
  26.       }
  27.  
  28.       this.nativeHost = var2;
  29.       var2.addContainerListener(this);
  30.       this.componentMoved((ComponentEvent)null);
  31.    }
  32.  
  33.    public void componentResized(ComponentEvent var1) {
  34.    }
  35.  
  36.    public void componentMoved(ComponentEvent var1) {
  37.       Object var2 = this.this$0.getTreeLock();
  38.       synchronized(var2){}
  39.  
  40.       try {
  41.          int var4 = this.this$0.x;
  42.          int var5 = this.this$0.y;
  43.  
  44.          for(Container var6 = this.this$0.parent; var6 != null && var6.peer instanceof LightweightPeer; var6 = var6.parent) {
  45.             var4 += var6.x;
  46.             var5 += var6.y;
  47.          }
  48.  
  49.          if (this.this$0.peer != null) {
  50.             this.this$0.peer.setBounds(var4, var5, this.this$0.width, this.this$0.height);
  51.          }
  52.       } catch (Throwable var8) {
  53.          throw var8;
  54.       }
  55.  
  56.    }
  57.  
  58.    public void componentShown(ComponentEvent var1) {
  59.       if (this.this$0.isShowing()) {
  60.          Object var2 = this.this$0.getTreeLock();
  61.          synchronized(var2){}
  62.  
  63.          try {
  64.             if (this.this$0.peer != null) {
  65.                this.this$0.peer.show();
  66.             }
  67.          } catch (Throwable var4) {
  68.             throw var4;
  69.          }
  70.  
  71.       }
  72.    }
  73.  
  74.    public void componentHidden(ComponentEvent var1) {
  75.       if (this.this$0.visible) {
  76.          Object var2 = this.this$0.getTreeLock();
  77.          synchronized(var2){}
  78.  
  79.          try {
  80.             if (this.this$0.peer != null) {
  81.                this.this$0.peer.hide();
  82.             }
  83.          } catch (Throwable var4) {
  84.             throw var4;
  85.          }
  86.  
  87.       }
  88.    }
  89.  
  90.    public void componentAdded(ContainerEvent var1) {
  91.    }
  92.  
  93.    public void componentRemoved(ContainerEvent var1) {
  94.       Component var2 = var1.getChild();
  95.       if (var2 == this.this$0) {
  96.          this.removeReferences();
  97.       } else {
  98.          int var3 = this.lightParents.size();
  99.  
  100.          for(int var4 = 0; var4 < var3; ++var4) {
  101.             Container var5 = (Container)this.lightParents.elementAt(var4);
  102.             if (var5 == var2) {
  103.                this.removeReferences();
  104.                return;
  105.             }
  106.          }
  107.  
  108.       }
  109.    }
  110.  
  111.    void removeReferences() {
  112.       int var1 = this.lightParents.size();
  113.  
  114.       for(int var2 = 0; var2 < var1; ++var2) {
  115.          Container var3 = (Container)this.lightParents.elementAt(var2);
  116.          ((Component)var3).removeComponentListener(this);
  117.          var3.removeContainerListener(this);
  118.       }
  119.  
  120.       this.nativeHost.removeContainerListener(this);
  121.    }
  122. }
  123.