home *** CD-ROM | disk | FTP | other *** search
- package java.awt;
-
- import java.io.IOException;
- import java.io.ObjectInputStream;
- import java.io.Serializable;
-
- public class FlowLayout implements LayoutManager, Serializable {
- public static final int LEFT = 0;
- public static final int CENTER = 1;
- public static final int RIGHT = 2;
- public static final int LEADING = 3;
- public static final int TRAILING = 4;
- int align;
- int newAlign;
- int hgap;
- int vgap;
- private static final long serialVersionUID = -7262534875583282631L;
- private static final int currentSerialVersion = 1;
- private int serialVersionOnStream;
-
- public FlowLayout() {
- this(1, 5, 5);
- }
-
- public FlowLayout(int var1) {
- this(var1, 5, 5);
- }
-
- public FlowLayout(int var1, int var2, int var3) {
- this.serialVersionOnStream = 1;
- this.hgap = var2;
- this.vgap = var3;
- this.setAlignment(var1);
- }
-
- public int getAlignment() {
- return this.newAlign;
- }
-
- public void setAlignment(int var1) {
- this.newAlign = var1;
- switch (var1) {
- case 3:
- this.align = 0;
- break;
- case 4:
- this.align = 2;
- break;
- default:
- this.align = var1;
- }
-
- }
-
- public int getHgap() {
- return this.hgap;
- }
-
- public void setHgap(int var1) {
- this.hgap = var1;
- }
-
- public int getVgap() {
- return this.vgap;
- }
-
- public void setVgap(int var1) {
- this.vgap = var1;
- }
-
- public void addLayoutComponent(String var1, Component var2) {
- }
-
- public void removeLayoutComponent(Component var1) {
- }
-
- public Dimension preferredLayoutSize(Container var1) {
- Object var2 = ((Component)var1).getTreeLock();
- synchronized(var2) {
- Dimension var3 = new Dimension(0, 0);
- int var4 = var1.getComponentCount();
- boolean var5 = true;
-
- for(int var6 = 0; var6 < var4; ++var6) {
- Component var7 = var1.getComponent(var6);
- if (var7.visible) {
- Dimension var8 = var7.getPreferredSize();
- var3.height = Math.max(var3.height, var8.height);
- if (var5) {
- var5 = false;
- } else {
- var3.width += this.hgap;
- }
-
- var3.width += var8.width;
- }
- }
-
- Insets var11 = var1.getInsets();
- var3.width += var11.left + var11.right + this.hgap * 2;
- var3.height += var11.top + var11.bottom + this.vgap * 2;
- return var3;
- }
- }
-
- public Dimension minimumLayoutSize(Container var1) {
- Object var2 = ((Component)var1).getTreeLock();
- synchronized(var2) {
- Dimension var3 = new Dimension(0, 0);
- int var4 = var1.getComponentCount();
-
- for(int var5 = 0; var5 < var4; ++var5) {
- Component var6 = var1.getComponent(var5);
- if (var6.visible) {
- Dimension var7 = var6.getMinimumSize();
- var3.height = Math.max(var3.height, var7.height);
- if (var5 > 0) {
- var3.width += this.hgap;
- }
-
- var3.width += var7.width;
- }
- }
-
- Insets var10 = var1.getInsets();
- var3.width += var10.left + var10.right + this.hgap * 2;
- var3.height += var10.top + var10.bottom + this.vgap * 2;
- return var3;
- }
- }
-
- private void moveComponents(Container var1, int var2, int var3, int var4, int var5, int var6, int var7, boolean var8) {
- Object var9 = ((Component)var1).getTreeLock();
- synchronized(var9) {
- switch (this.newAlign) {
- case 0:
- var2 += var8 ? 0 : var4;
- break;
- case 1:
- var2 += var4 / 2;
- break;
- case 2:
- var2 += var8 ? var4 : 0;
- case 3:
- default:
- break;
- case 4:
- var2 += var4;
- }
-
- for(int var10 = var6; var10 < var7; ++var10) {
- Component var11 = var1.getComponent(var10);
- if (var11.visible) {
- if (var8) {
- var11.setLocation(var2, var3 + (var5 - var11.height) / 2);
- } else {
- var11.setLocation(var1.width - var2 - var11.width, var3 + (var5 - var11.height) / 2);
- }
-
- var2 += var11.width + this.hgap;
- }
- }
-
- }
- }
-
- public void layoutContainer(Container var1) {
- Object var2 = ((Component)var1).getTreeLock();
- synchronized(var2) {
- Insets var3 = var1.getInsets();
- int var4 = var1.width - (var3.left + var3.right + this.hgap * 2);
- int var5 = var1.getComponentCount();
- int var6 = 0;
- int var7 = var3.top + this.vgap;
- int var8 = 0;
- int var9 = 0;
- boolean var10 = ((Component)var1).getComponentOrientation().isLeftToRight();
-
- for(int var11 = 0; var11 < var5; ++var11) {
- Component var12 = var1.getComponent(var11);
- if (var12.visible) {
- Dimension var13 = var12.getPreferredSize();
- var12.setSize(var13.width, var13.height);
- if (var6 != 0 && var6 + var13.width > var4) {
- this.moveComponents(var1, var3.left + this.hgap, var7, var4 - var6, var8, var9, var11, var10);
- var6 = var13.width;
- var7 += this.vgap + var8;
- var8 = var13.height;
- var9 = var11;
- } else {
- if (var6 > 0) {
- var6 += this.hgap;
- }
-
- var6 += var13.width;
- var8 = Math.max(var8, var13.height);
- }
- }
- }
-
- this.moveComponents(var1, var3.left + this.hgap, var7, var4 - var6, var8, var9, var5, var10);
- }
- }
-
- private void readObject(ObjectInputStream var1) throws IOException, ClassNotFoundException {
- var1.defaultReadObject();
- if (this.serialVersionOnStream < 1) {
- this.setAlignment(this.align);
- }
-
- this.serialVersionOnStream = 1;
- }
-
- public String toString() {
- String var1 = "";
- switch (this.align) {
- case 0:
- var1 = ",align=left";
- break;
- case 1:
- var1 = ",align=center";
- break;
- case 2:
- var1 = ",align=right";
- break;
- case 3:
- var1 = ",align=leading";
- break;
- case 4:
- var1 = ",align=trailing";
- }
-
- return this.getClass().getName() + "[hgap=" + this.hgap + ",vgap=" + this.vgap + var1 + "]";
- }
- }
-