home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 25 / CDROM25.iso / Share / prog / VJ11 / VJTRIAL.EXE / IE30Java.exe / classd.exe / java / awt / FlowLayout.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-01-27  |  3.1 KB  |  149 lines

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