home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &n…he Search for Life DVD 2 / DVD-ROM.iso / install / jre1_3 / lib / rt.jar / java / awt / GridLayout.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  2.9 KB  |  185 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 var2 = ((Component)var1).getTreeLock();
  78.       synchronized(var2) {
  79.          Insets var3 = var1.getInsets();
  80.          int var4 = var1.getComponentCount();
  81.          int var5 = this.rows;
  82.          int var6 = this.cols;
  83.          if (var5 > 0) {
  84.             var6 = (var4 + var5 - 1) / var5;
  85.          } else {
  86.             var5 = (var4 + var6 - 1) / var6;
  87.          }
  88.  
  89.          int var7 = 0;
  90.          int var8 = 0;
  91.  
  92.          for(int var9 = 0; var9 < var4; ++var9) {
  93.             Component var10 = var1.getComponent(var9);
  94.             Dimension var11 = var10.getPreferredSize();
  95.             if (var7 < var11.width) {
  96.                var7 = var11.width;
  97.             }
  98.  
  99.             if (var8 < var11.height) {
  100.                var8 = var11.height;
  101.             }
  102.          }
  103.  
  104.          Dimension var14 = new Dimension(var3.left + var3.right + var6 * var7 + (var6 - 1) * this.hgap, var3.top + var3.bottom + var5 * var8 + (var5 - 1) * this.vgap);
  105.          return var14;
  106.       }
  107.    }
  108.  
  109.    public Dimension minimumLayoutSize(Container var1) {
  110.       Object var2 = ((Component)var1).getTreeLock();
  111.       synchronized(var2) {
  112.          Insets var3 = var1.getInsets();
  113.          int var4 = var1.getComponentCount();
  114.          int var5 = this.rows;
  115.          int var6 = this.cols;
  116.          if (var5 > 0) {
  117.             var6 = (var4 + var5 - 1) / var5;
  118.          } else {
  119.             var5 = (var4 + var6 - 1) / var6;
  120.          }
  121.  
  122.          int var7 = 0;
  123.          int var8 = 0;
  124.  
  125.          for(int var9 = 0; var9 < var4; ++var9) {
  126.             Component var10 = var1.getComponent(var9);
  127.             Dimension var11 = var10.getMinimumSize();
  128.             if (var7 < var11.width) {
  129.                var7 = var11.width;
  130.             }
  131.  
  132.             if (var8 < var11.height) {
  133.                var8 = var11.height;
  134.             }
  135.          }
  136.  
  137.          Dimension var14 = new Dimension(var3.left + var3.right + var6 * var7 + (var6 - 1) * this.hgap, var3.top + var3.bottom + var5 * var8 + (var5 - 1) * this.vgap);
  138.          return var14;
  139.       }
  140.    }
  141.  
  142.    public void layoutContainer(Container var1) {
  143.       Object var2 = ((Component)var1).getTreeLock();
  144.       synchronized(var2) {
  145.          Insets var3 = var1.getInsets();
  146.          int var4 = var1.getComponentCount();
  147.          int var5 = this.rows;
  148.          int var6 = this.cols;
  149.          if (var4 != 0) {
  150.             if (var5 > 0) {
  151.                var6 = (var4 + var5 - 1) / var5;
  152.             } else {
  153.                var5 = (var4 + var6 - 1) / var6;
  154.             }
  155.  
  156.             int var7 = var1.width - (var3.left + var3.right);
  157.             int var8 = var1.height - (var3.top + var3.bottom);
  158.             var7 = (var7 - (var6 - 1) * this.hgap) / var6;
  159.             var8 = (var8 - (var5 - 1) * this.vgap) / var5;
  160.             int var9 = 0;
  161.  
  162.             for(int var10 = var3.left; var9 < var6; var10 += var7 + this.hgap) {
  163.                int var11 = 0;
  164.  
  165.                for(int var12 = var3.top; var11 < var5; var12 += var8 + this.vgap) {
  166.                   int var13 = var11 * var6 + var9;
  167.                   if (var13 < var4) {
  168.                      var1.getComponent(var13).setBounds(var10, var12, var7, var8);
  169.                   }
  170.  
  171.                   ++var11;
  172.                }
  173.  
  174.                ++var9;
  175.             }
  176.  
  177.          }
  178.       }
  179.    }
  180.  
  181.    public String toString() {
  182.       return this.getClass().getName() + "[hgap=" + this.hgap + ",vgap=" + this.vgap + ",rows=" + this.rows + ",cols=" + this.cols + "]";
  183.    }
  184. }
  185.