home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 1999 April / DPPCPRO0499.ISO / April / Notes / 50b2wic.exe / DATA1.CAB / NotesProgramFilesJavaSupport / rt.jar / java / awt / FlowLayout.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-04-23  |  3.8 KB  |  211 lines

  1. package java.awt;
  2.  
  3. import java.io.Serializable;
  4.  
  5. public class FlowLayout implements LayoutManager, Serializable {
  6.    public static final int LEFT = 0;
  7.    public static final int CENTER = 1;
  8.    public static final int RIGHT = 2;
  9.    int align;
  10.    int hgap;
  11.    int vgap;
  12.    private static final long serialVersionUID = -7262534875583282631L;
  13.  
  14.    public FlowLayout() {
  15.       this(1, 5, 5);
  16.    }
  17.  
  18.    public FlowLayout(int var1) {
  19.       this(var1, 5, 5);
  20.    }
  21.  
  22.    public FlowLayout(int var1, int var2, int var3) {
  23.       this.align = var1;
  24.       this.hgap = var2;
  25.       this.vgap = var3;
  26.    }
  27.  
  28.    public int getAlignment() {
  29.       return this.align;
  30.    }
  31.  
  32.    public void setAlignment(int var1) {
  33.       this.align = var1;
  34.    }
  35.  
  36.    public int getHgap() {
  37.       return this.hgap;
  38.    }
  39.  
  40.    public void setHgap(int var1) {
  41.       this.hgap = var1;
  42.    }
  43.  
  44.    public int getVgap() {
  45.       return this.vgap;
  46.    }
  47.  
  48.    public void setVgap(int var1) {
  49.       this.vgap = var1;
  50.    }
  51.  
  52.    public void addLayoutComponent(String var1, Component var2) {
  53.    }
  54.  
  55.    public void removeLayoutComponent(Component var1) {
  56.    }
  57.  
  58.    public Dimension preferredLayoutSize(Container var1) {
  59.       Object var3 = ((Component)var1).getTreeLock();
  60.       synchronized(var3){}
  61.  
  62.       Dimension var2;
  63.       try {
  64.          Dimension var5 = new Dimension(0, 0);
  65.          int var6 = var1.getComponentCount();
  66.  
  67.          for(int var7 = 0; var7 < var6; ++var7) {
  68.             Component var8 = var1.getComponent(var7);
  69.             if (var8.visible) {
  70.                Dimension var9 = var8.getPreferredSize();
  71.                var5.height = Math.max(var5.height, var9.height);
  72.                if (var7 > 0) {
  73.                   var5.width += this.hgap;
  74.                }
  75.  
  76.                var5.width += var9.width;
  77.             }
  78.          }
  79.  
  80.          Insets var12 = var1.getInsets();
  81.          var5.width += var12.left + var12.right + this.hgap * 2;
  82.          var5.height += var12.top + var12.bottom + this.vgap * 2;
  83.          var2 = var5;
  84.       } catch (Throwable var11) {
  85.          throw var11;
  86.       }
  87.  
  88.       return var2;
  89.    }
  90.  
  91.    public Dimension minimumLayoutSize(Container var1) {
  92.       Object var3 = ((Component)var1).getTreeLock();
  93.       synchronized(var3){}
  94.  
  95.       Dimension var2;
  96.       try {
  97.          Dimension var5 = new Dimension(0, 0);
  98.          int var6 = var1.getComponentCount();
  99.  
  100.          for(int var7 = 0; var7 < var6; ++var7) {
  101.             Component var8 = var1.getComponent(var7);
  102.             if (var8.visible) {
  103.                Dimension var9 = var8.getMinimumSize();
  104.                var5.height = Math.max(var5.height, var9.height);
  105.                if (var7 > 0) {
  106.                   var5.width += this.hgap;
  107.                }
  108.  
  109.                var5.width += var9.width;
  110.             }
  111.          }
  112.  
  113.          Insets var12 = var1.getInsets();
  114.          var5.width += var12.left + var12.right + this.hgap * 2;
  115.          var5.height += var12.top + var12.bottom + this.vgap * 2;
  116.          var2 = var5;
  117.       } catch (Throwable var11) {
  118.          throw var11;
  119.       }
  120.  
  121.       return var2;
  122.    }
  123.  
  124.    private void moveComponents(Container var1, int var2, int var3, int var4, int var5, int var6, int var7) {
  125.       Object var8 = ((Component)var1).getTreeLock();
  126.       synchronized(var8){}
  127.  
  128.       try {
  129.          switch (this.align) {
  130.             case 0:
  131.             default:
  132.                break;
  133.             case 1:
  134.                var2 += var4 / 2;
  135.                break;
  136.             case 2:
  137.                var2 += var4;
  138.          }
  139.  
  140.          for(int var10 = var6; var10 < var7; ++var10) {
  141.             Component var11 = var1.getComponent(var10);
  142.             if (var11.visible) {
  143.                var11.setLocation(var2, var3 + (var5 - var11.height) / 2);
  144.                var2 += this.hgap + var11.width;
  145.             }
  146.          }
  147.       } catch (Throwable var13) {
  148.          throw var13;
  149.       }
  150.  
  151.    }
  152.  
  153.    public void layoutContainer(Container var1) {
  154.       Object var2 = ((Component)var1).getTreeLock();
  155.       synchronized(var2){}
  156.  
  157.       try {
  158.          Insets var4 = var1.getInsets();
  159.          int var5 = var1.width - (var4.left + var4.right + this.hgap * 2);
  160.          int var6 = var1.getComponentCount();
  161.          int var7 = 0;
  162.          int var8 = var4.top + this.vgap;
  163.          int var9 = 0;
  164.          int var10 = 0;
  165.  
  166.          for(int var11 = 0; var11 < var6; ++var11) {
  167.             Component var12 = var1.getComponent(var11);
  168.             if (var12.visible) {
  169.                Dimension var13 = var12.getPreferredSize();
  170.                var12.setSize(var13.width, var13.height);
  171.                if (var7 != 0 && var7 + var13.width > var5) {
  172.                   this.moveComponents(var1, var4.left + this.hgap, var8, var5 - var7, var9, var10, var11);
  173.                   var7 = var13.width;
  174.                   var8 += this.vgap + var9;
  175.                   var9 = var13.height;
  176.                   var10 = var11;
  177.                } else {
  178.                   if (var7 > 0) {
  179.                      var7 += this.hgap;
  180.                   }
  181.  
  182.                   var7 += var13.width;
  183.                   var9 = Math.max(var9, var13.height);
  184.                }
  185.             }
  186.          }
  187.  
  188.          this.moveComponents(var1, var4.left + this.hgap, var8, var5 - var7, var9, var10, var6);
  189.       } catch (Throwable var15) {
  190.          throw var15;
  191.       }
  192.  
  193.    }
  194.  
  195.    public String toString() {
  196.       String var1 = "";
  197.       switch (this.align) {
  198.          case 0:
  199.             var1 = ",align=left";
  200.             break;
  201.          case 1:
  202.             var1 = ",align=center";
  203.             break;
  204.          case 2:
  205.             var1 = ",align=right";
  206.       }
  207.  
  208.       return this.getClass().getName() + "[hgap=" + this.hgap + ",vgap=" + this.vgap + var1 + "]";
  209.    }
  210. }
  211.