home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 1999 April / DPPCPRO0499.ISO / April / Notes / 50b2wic.exe / DATA1.CAB / NotesProgramFilesJavaSupport / rt.jar / java / awt / GridLayout.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-04-23  |  3.6 KB  |  203 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() {
  12.       this(1, 0, 0, 0);
  13.    }
  14.  
  15.    public GridLayout(int var1, int var2) {
  16.       this(var1, var2, 0, 0);
  17.    }
  18.  
  19.    public GridLayout(int var1, int var2, int var3, int var4) {
  20.       if (var1 == 0 && var2 == 0) {
  21.          throw new IllegalArgumentException("rows and cols cannot both be zero");
  22.       } else {
  23.          this.rows = var1;
  24.          this.cols = var2;
  25.          this.hgap = var3;
  26.          this.vgap = var4;
  27.       }
  28.    }
  29.  
  30.    public int getRows() {
  31.       return this.rows;
  32.    }
  33.  
  34.    public void setRows(int var1) {
  35.       if (var1 == 0 && this.cols == 0) {
  36.          throw new IllegalArgumentException("rows and cols cannot both be zero");
  37.       } else {
  38.          this.rows = var1;
  39.       }
  40.    }
  41.  
  42.    public int getColumns() {
  43.       return this.cols;
  44.    }
  45.  
  46.    public void setColumns(int var1) {
  47.       if (var1 == 0 && this.rows == 0) {
  48.          throw new IllegalArgumentException("rows and cols cannot both be zero");
  49.       } else {
  50.          this.cols = var1;
  51.       }
  52.    }
  53.  
  54.    public int getHgap() {
  55.       return this.hgap;
  56.    }
  57.  
  58.    public void setHgap(int var1) {
  59.       this.hgap = var1;
  60.    }
  61.  
  62.    public int getVgap() {
  63.       return this.vgap;
  64.    }
  65.  
  66.    public void setVgap(int var1) {
  67.       this.vgap = var1;
  68.    }
  69.  
  70.    public void addLayoutComponent(String var1, Component var2) {
  71.    }
  72.  
  73.    public void removeLayoutComponent(Component var1) {
  74.    }
  75.  
  76.    public Dimension preferredLayoutSize(Container var1) {
  77.       Object var3 = ((Component)var1).getTreeLock();
  78.       synchronized(var3){}
  79.  
  80.       Dimension var2;
  81.       try {
  82.          Insets var5 = var1.getInsets();
  83.          int var6 = var1.getComponentCount();
  84.          int var7 = this.rows;
  85.          int var8 = this.cols;
  86.          if (var7 > 0) {
  87.             var8 = (var6 + var7 - 1) / var7;
  88.          } else {
  89.             var7 = (var6 + var8 - 1) / var8;
  90.          }
  91.  
  92.          int var9 = 0;
  93.          int var10 = 0;
  94.  
  95.          for(int var11 = 0; var11 < var6; ++var11) {
  96.             Component var12 = var1.getComponent(var11);
  97.             Dimension var13 = var12.getPreferredSize();
  98.             if (var9 < var13.width) {
  99.                var9 = var13.width;
  100.             }
  101.  
  102.             if (var10 < var13.height) {
  103.                var10 = var13.height;
  104.             }
  105.          }
  106.  
  107.          var2 = new Dimension(var5.left + var5.right + var8 * var9 + (var8 - 1) * this.hgap, var5.top + var5.bottom + var7 * var10 + (var7 - 1) * this.vgap);
  108.       } catch (Throwable var15) {
  109.          throw var15;
  110.       }
  111.  
  112.       return var2;
  113.    }
  114.  
  115.    public Dimension minimumLayoutSize(Container var1) {
  116.       Object var3 = ((Component)var1).getTreeLock();
  117.       synchronized(var3){}
  118.  
  119.       Dimension var2;
  120.       try {
  121.          Insets var5 = var1.getInsets();
  122.          int var6 = var1.getComponentCount();
  123.          int var7 = this.rows;
  124.          int var8 = this.cols;
  125.          if (var7 > 0) {
  126.             var8 = (var6 + var7 - 1) / var7;
  127.          } else {
  128.             var7 = (var6 + var8 - 1) / var8;
  129.          }
  130.  
  131.          int var9 = 0;
  132.          int var10 = 0;
  133.  
  134.          for(int var11 = 0; var11 < var6; ++var11) {
  135.             Component var12 = var1.getComponent(var11);
  136.             Dimension var13 = var12.getMinimumSize();
  137.             if (var9 < var13.width) {
  138.                var9 = var13.width;
  139.             }
  140.  
  141.             if (var10 < var13.height) {
  142.                var10 = var13.height;
  143.             }
  144.          }
  145.  
  146.          var2 = new Dimension(var5.left + var5.right + var8 * var9 + (var8 - 1) * this.hgap, var5.top + var5.bottom + var7 * var10 + (var7 - 1) * this.vgap);
  147.       } catch (Throwable var15) {
  148.          throw var15;
  149.       }
  150.  
  151.       return var2;
  152.    }
  153.  
  154.    public void layoutContainer(Container var1) {
  155.       Object var2 = ((Component)var1).getTreeLock();
  156.       synchronized(var2){}
  157.  
  158.       try {
  159.          Insets var4 = var1.getInsets();
  160.          int var5 = var1.getComponentCount();
  161.          int var6 = this.rows;
  162.          int var7 = this.cols;
  163.          if (var5 != 0) {
  164.             if (var6 > 0) {
  165.                var7 = (var5 + var6 - 1) / var6;
  166.             } else {
  167.                var6 = (var5 + var7 - 1) / var7;
  168.             }
  169.  
  170.             int var8 = var1.width - (var4.left + var4.right);
  171.             int var9 = var1.height - (var4.top + var4.bottom);
  172.             var8 = (var8 - (var7 - 1) * this.hgap) / var7;
  173.             var9 = (var9 - (var6 - 1) * this.vgap) / var6;
  174.             int var10 = 0;
  175.  
  176.             for(int var11 = var4.left; var10 < var7; var11 += var8 + this.hgap) {
  177.                int var12 = 0;
  178.  
  179.                for(int var13 = var4.top; var12 < var6; var13 += var9 + this.vgap) {
  180.                   int var14 = var12 * var7 + var10;
  181.                   if (var14 < var5) {
  182.                      var1.getComponent(var14).setBounds(var11, var13, var8, var9);
  183.                   }
  184.  
  185.                   ++var12;
  186.                }
  187.  
  188.                ++var10;
  189.             }
  190.  
  191.             return;
  192.          }
  193.       } catch (Throwable var16) {
  194.          throw var16;
  195.       }
  196.  
  197.    }
  198.  
  199.    public String toString() {
  200.       return this.getClass().getName() + "[hgap=" + this.hgap + ",vgap=" + this.vgap + ",rows=" + this.rows + ",cols=" + this.cols + "]";
  201.    }
  202. }
  203.