home *** CD-ROM | disk | FTP | other *** search
/ Dynamic HTML Construction Kit / Dynamic HTML Construction Kit.iso / earthlink / nscomm / java40.jar / java / awt / GridLayout.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-11-03  |  2.4 KB  |  130 lines

  1. package java.awt;
  2.  
  3. import java.io.Serializable;
  4.  
  5. public class GridLayout implements LayoutManager, Serializable {
  6.    int hgap;
  7.    int vgap;
  8.    int rows;
  9.    int cols;
  10.  
  11.    public GridLayout(int var1, int var2) {
  12.       this(var1, var2, 0, 0);
  13.    }
  14.  
  15.    public GridLayout(int var1, int var2, int var3, int var4) {
  16.       if (var1 == 0 && var2 == 0) {
  17.          throw new IllegalArgumentException("invalid rows,cols");
  18.       } else {
  19.          this.rows = var1;
  20.          this.cols = var2;
  21.          this.hgap = var3;
  22.          this.vgap = var4;
  23.       }
  24.    }
  25.  
  26.    public void addLayoutComponent(String var1, Component var2) {
  27.    }
  28.  
  29.    public void removeLayoutComponent(Component var1) {
  30.    }
  31.  
  32.    public Dimension preferredLayoutSize(Container var1) {
  33.       Insets var2 = var1.insets();
  34.       int var3 = var1.countComponents();
  35.       int var4 = this.rows;
  36.       int var5 = this.cols;
  37.       if (var4 > 0) {
  38.          var5 = (var3 + var4 - 1) / var4;
  39.       } else {
  40.          var4 = (var3 + var5 - 1) / var5;
  41.       }
  42.  
  43.       int var6 = 0;
  44.       int var7 = 0;
  45.  
  46.       for(int var8 = 0; var8 < var3; ++var8) {
  47.          Component var9 = var1.getComponent(var8);
  48.          Dimension var10 = var9.preferredSize();
  49.          if (var6 < var10.width) {
  50.             var6 = var10.width;
  51.          }
  52.  
  53.          if (var7 < var10.height) {
  54.             var7 = var10.height;
  55.          }
  56.       }
  57.  
  58.       return new Dimension(var2.left + var2.right + var5 * var6 + (this.cols - 1) * this.hgap, var2.top + var2.bottom + var4 * var7 + (this.rows - 1) * this.vgap);
  59.    }
  60.  
  61.    public Dimension minimumLayoutSize(Container var1) {
  62.       Insets var2 = var1.insets();
  63.       int var3 = var1.countComponents();
  64.       int var4 = this.rows;
  65.       int var5 = this.cols;
  66.       if (var4 > 0) {
  67.          var5 = (var3 + var4 - 1) / var4;
  68.       } else {
  69.          var4 = (var3 + var5 - 1) / var5;
  70.       }
  71.  
  72.       int var6 = 0;
  73.       int var7 = 0;
  74.  
  75.       for(int var8 = 0; var8 < var3; ++var8) {
  76.          Component var9 = var1.getComponent(var8);
  77.          Dimension var10 = var9.minimumSize();
  78.          if (var6 < var10.width) {
  79.             var6 = var10.width;
  80.          }
  81.  
  82.          if (var7 < var10.height) {
  83.             var7 = var10.height;
  84.          }
  85.       }
  86.  
  87.       return new Dimension(var2.left + var2.right + var5 * var6 + (this.cols - 1) * this.hgap, var2.top + var2.bottom + var4 * var7 + (this.rows - 1) * this.vgap);
  88.    }
  89.  
  90.    public void layoutContainer(Container var1) {
  91.       Insets var2 = var1.insets();
  92.       int var3 = var1.countComponents();
  93.       int var4 = this.rows;
  94.       int var5 = this.cols;
  95.       if (var3 != 0) {
  96.          if (var4 > 0) {
  97.             var5 = (var3 + var4 - 1) / var4;
  98.          } else {
  99.             var4 = (var3 + var5 - 1) / var5;
  100.          }
  101.  
  102.          int var6 = var1.width - (var2.left + var2.right);
  103.          int var7 = var1.height - (var2.top + var2.bottom);
  104.          var6 = (var6 - (var5 - 1) * this.hgap) / var5;
  105.          var7 = (var7 - (var4 - 1) * this.vgap) / var4;
  106.          int var8 = 0;
  107.  
  108.          for(int var9 = var2.left; var8 < var5; var9 += var6 + this.hgap) {
  109.             int var10 = 0;
  110.  
  111.             for(int var11 = var2.top; var10 < var4; var11 += var7 + this.vgap) {
  112.                int var12 = var10 * var5 + var8;
  113.                if (var12 < var3) {
  114.                   var1.getComponent(var12).reshape(var9, var11, var6, var7);
  115.                }
  116.  
  117.                ++var10;
  118.             }
  119.  
  120.             ++var8;
  121.          }
  122.  
  123.       }
  124.    }
  125.  
  126.    public String toString() {
  127.       return this.getClass().getName() + "[hgap=" + this.hgap + ",vgap=" + this.vgap + ",rows=" + this.rows + ",cols=" + this.cols + "]";
  128.    }
  129. }
  130.