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 / OverlayLayout.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  2.8 KB  |  130 lines

  1. package javax.swing;
  2.  
  3. import java.awt.AWTError;
  4. import java.awt.Component;
  5. import java.awt.Container;
  6. import java.awt.Dimension;
  7. import java.awt.Insets;
  8. import java.awt.LayoutManager2;
  9. import java.io.Serializable;
  10.  
  11. public class OverlayLayout implements LayoutManager2, Serializable {
  12.    private Container target;
  13.    private SizeRequirements[] xChildren;
  14.    private SizeRequirements[] yChildren;
  15.    private SizeRequirements xTotal;
  16.    private SizeRequirements yTotal;
  17.  
  18.    public OverlayLayout(Container var1) {
  19.       this.target = var1;
  20.    }
  21.  
  22.    public void invalidateLayout(Container var1) {
  23.       this.checkContainer(var1);
  24.       this.xChildren = null;
  25.       this.yChildren = null;
  26.       this.xTotal = null;
  27.       this.yTotal = null;
  28.    }
  29.  
  30.    public void addLayoutComponent(String var1, Component var2) {
  31.    }
  32.  
  33.    public void removeLayoutComponent(Component var1) {
  34.    }
  35.  
  36.    public void addLayoutComponent(Component var1, Object var2) {
  37.    }
  38.  
  39.    public Dimension preferredLayoutSize(Container var1) {
  40.       this.checkContainer(var1);
  41.       this.checkRequests();
  42.       Dimension var2 = new Dimension(this.xTotal.preferred, this.yTotal.preferred);
  43.       Insets var3 = var1.getInsets();
  44.       var2.width += var3.left + var3.right;
  45.       var2.height += var3.top + var3.bottom;
  46.       return var2;
  47.    }
  48.  
  49.    public Dimension minimumLayoutSize(Container var1) {
  50.       this.checkContainer(var1);
  51.       this.checkRequests();
  52.       Dimension var2 = new Dimension(this.xTotal.minimum, this.yTotal.minimum);
  53.       Insets var3 = var1.getInsets();
  54.       var2.width += var3.left + var3.right;
  55.       var2.height += var3.top + var3.bottom;
  56.       return var2;
  57.    }
  58.  
  59.    public Dimension maximumLayoutSize(Container var1) {
  60.       this.checkContainer(var1);
  61.       this.checkRequests();
  62.       Dimension var2 = new Dimension(this.xTotal.maximum, this.yTotal.maximum);
  63.       Insets var3 = var1.getInsets();
  64.       var2.width += var3.left + var3.right;
  65.       var2.height += var3.top + var3.bottom;
  66.       return var2;
  67.    }
  68.  
  69.    public float getLayoutAlignmentX(Container var1) {
  70.       this.checkContainer(var1);
  71.       this.checkRequests();
  72.       return this.xTotal.alignment;
  73.    }
  74.  
  75.    public float getLayoutAlignmentY(Container var1) {
  76.       this.checkContainer(var1);
  77.       this.checkRequests();
  78.       return this.yTotal.alignment;
  79.    }
  80.  
  81.    public void layoutContainer(Container var1) {
  82.       this.checkContainer(var1);
  83.       this.checkRequests();
  84.       int var2 = var1.getComponentCount();
  85.       int[] var3 = new int[var2];
  86.       int[] var4 = new int[var2];
  87.       int[] var5 = new int[var2];
  88.       int[] var6 = new int[var2];
  89.       Dimension var7 = ((Component)var1).getSize();
  90.       Insets var8 = var1.getInsets();
  91.       var7.width -= var8.left + var8.right;
  92.       var7.height -= var8.top + var8.bottom;
  93.       SizeRequirements.calculateAlignedPositions(var7.width, this.xTotal, this.xChildren, var3, var4);
  94.       SizeRequirements.calculateAlignedPositions(var7.height, this.yTotal, this.yChildren, var5, var6);
  95.  
  96.       for(int var9 = 0; var9 < var2; ++var9) {
  97.          Component var10 = var1.getComponent(var9);
  98.          var10.setBounds(var8.left + var3[var9], var8.top + var5[var9], var4[var9], var6[var9]);
  99.       }
  100.  
  101.    }
  102.  
  103.    void checkContainer(Container var1) {
  104.       if (this.target != var1) {
  105.          throw new AWTError("OverlayLayout can't be shared");
  106.       }
  107.    }
  108.  
  109.    void checkRequests() {
  110.       if (this.xChildren == null || this.yChildren == null) {
  111.          int var1 = this.target.getComponentCount();
  112.          this.xChildren = new SizeRequirements[var1];
  113.          this.yChildren = new SizeRequirements[var1];
  114.  
  115.          for(int var2 = 0; var2 < var1; ++var2) {
  116.             Component var3 = this.target.getComponent(var2);
  117.             Dimension var4 = var3.getMinimumSize();
  118.             Dimension var5 = var3.getPreferredSize();
  119.             Dimension var6 = var3.getMaximumSize();
  120.             this.xChildren[var2] = new SizeRequirements(var4.width, var5.width, var6.width, var3.getAlignmentX());
  121.             this.yChildren[var2] = new SizeRequirements(var4.height, var5.height, var6.height, var3.getAlignmentY());
  122.          }
  123.  
  124.          this.xTotal = SizeRequirements.getAlignedSizeRequirements(this.xChildren);
  125.          this.yTotal = SizeRequirements.getAlignedSizeRequirements(this.yChildren);
  126.       }
  127.  
  128.    }
  129. }
  130.