home *** CD-ROM | disk | FTP | other *** search
/ Symantec Visual Cafe for Java 2.5 / symantec-visual-cafe-2.5-database-dev-edition.iso / VPage / Java.bin / CLASSES.ZIP / java / awt / BorderLayout.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-07-08  |  4.7 KB  |  225 lines

  1. package java.awt;
  2.  
  3. import java.io.Serializable;
  4.  
  5. public class BorderLayout implements LayoutManager2, Serializable {
  6.    int hgap;
  7.    int vgap;
  8.    Component north;
  9.    Component west;
  10.    Component east;
  11.    Component south;
  12.    Component center;
  13.    public static final String NORTH = "North";
  14.    public static final String SOUTH = "South";
  15.    public static final String EAST = "East";
  16.    public static final String WEST = "West";
  17.    public static final String CENTER = "Center";
  18.    private static final long serialVersionUID = -8658291919501921765L;
  19.  
  20.    public BorderLayout() {
  21.       this(0, 0);
  22.    }
  23.  
  24.    public BorderLayout(int var1, int var2) {
  25.       this.hgap = var1;
  26.       this.vgap = var2;
  27.    }
  28.  
  29.    public int getHgap() {
  30.       return this.hgap;
  31.    }
  32.  
  33.    public void setHgap(int var1) {
  34.       this.hgap = var1;
  35.    }
  36.  
  37.    public int getVgap() {
  38.       return this.vgap;
  39.    }
  40.  
  41.    public void setVgap(int var1) {
  42.       this.vgap = var1;
  43.    }
  44.  
  45.    public void addLayoutComponent(Component var1, Object var2) {
  46.       if (var2 != null && !(var2 instanceof String)) {
  47.          throw new IllegalArgumentException("cannot add to layout: constraint must be a string (or null)");
  48.       } else {
  49.          this.addLayoutComponent((String)var2, var1);
  50.       }
  51.    }
  52.  
  53.    public void addLayoutComponent(String var1, Component var2) {
  54.       if (var1 == null) {
  55.          var1 = "Center";
  56.       }
  57.  
  58.       if ("Center".equals(var1)) {
  59.          this.center = var2;
  60.       } else if ("North".equals(var1)) {
  61.          this.north = var2;
  62.       } else if ("South".equals(var1)) {
  63.          this.south = var2;
  64.       } else if ("East".equals(var1)) {
  65.          this.east = var2;
  66.       } else if ("West".equals(var1)) {
  67.          this.west = var2;
  68.       } else {
  69.          throw new IllegalArgumentException("cannot add to layout: unknown constraint: " + var1);
  70.       }
  71.    }
  72.  
  73.    public void removeLayoutComponent(Component var1) {
  74.       if (var1 == this.center) {
  75.          this.center = null;
  76.       } else if (var1 == this.north) {
  77.          this.north = null;
  78.       } else if (var1 == this.south) {
  79.          this.south = null;
  80.       } else if (var1 == this.east) {
  81.          this.east = null;
  82.       } else {
  83.          if (var1 == this.west) {
  84.             this.west = null;
  85.          }
  86.  
  87.       }
  88.    }
  89.  
  90.    public Dimension minimumLayoutSize(Container var1) {
  91.       Dimension var2 = new Dimension(0, 0);
  92.       if (this.east != null && this.east.visible) {
  93.          Dimension var3 = this.east.getMinimumSize();
  94.          var2.width += var3.width + this.hgap;
  95.          var2.height = Math.max(var3.height, var2.height);
  96.       }
  97.  
  98.       if (this.west != null && this.west.visible) {
  99.          Dimension var4 = this.west.getMinimumSize();
  100.          var2.width += var4.width + this.hgap;
  101.          var2.height = Math.max(var4.height, var2.height);
  102.       }
  103.  
  104.       if (this.center != null && this.center.visible) {
  105.          Dimension var5 = this.center.getMinimumSize();
  106.          var2.width += var5.width;
  107.          var2.height = Math.max(var5.height, var2.height);
  108.       }
  109.  
  110.       if (this.north != null && this.north.visible) {
  111.          Dimension var6 = this.north.getMinimumSize();
  112.          var2.width = Math.max(var6.width, var2.width);
  113.          var2.height += var6.height + this.vgap;
  114.       }
  115.  
  116.       if (this.south != null && this.south.visible) {
  117.          Dimension var7 = this.south.getMinimumSize();
  118.          var2.width = Math.max(var7.width, var2.width);
  119.          var2.height += var7.height + this.vgap;
  120.       }
  121.  
  122.       Insets var8 = var1.getInsets();
  123.       var2.width += var8.left + var8.right;
  124.       var2.height += var8.top + var8.bottom;
  125.       return var2;
  126.    }
  127.  
  128.    public Dimension preferredLayoutSize(Container var1) {
  129.       Dimension var2 = new Dimension(0, 0);
  130.       if (this.east != null && this.east.visible) {
  131.          Dimension var3 = this.east.getPreferredSize();
  132.          var2.width += var3.width + this.hgap;
  133.          var2.height = Math.max(var3.height, var2.height);
  134.       }
  135.  
  136.       if (this.west != null && this.west.visible) {
  137.          Dimension var4 = this.west.getPreferredSize();
  138.          var2.width += var4.width + this.hgap;
  139.          var2.height = Math.max(var4.height, var2.height);
  140.       }
  141.  
  142.       if (this.center != null && this.center.visible) {
  143.          Dimension var5 = this.center.getPreferredSize();
  144.          var2.width += var5.width;
  145.          var2.height = Math.max(var5.height, var2.height);
  146.       }
  147.  
  148.       if (this.north != null && this.north.visible) {
  149.          Dimension var6 = this.north.getPreferredSize();
  150.          var2.width = Math.max(var6.width, var2.width);
  151.          var2.height += var6.height + this.vgap;
  152.       }
  153.  
  154.       if (this.south != null && this.south.visible) {
  155.          Dimension var7 = this.south.getPreferredSize();
  156.          var2.width = Math.max(var7.width, var2.width);
  157.          var2.height += var7.height + this.vgap;
  158.       }
  159.  
  160.       Insets var8 = var1.getInsets();
  161.       var2.width += var8.left + var8.right;
  162.       var2.height += var8.top + var8.bottom;
  163.       return var2;
  164.    }
  165.  
  166.    public Dimension maximumLayoutSize(Container var1) {
  167.       return new Dimension(Integer.MAX_VALUE, Integer.MAX_VALUE);
  168.    }
  169.  
  170.    public float getLayoutAlignmentX(Container var1) {
  171.       return 0.5F;
  172.    }
  173.  
  174.    public float getLayoutAlignmentY(Container var1) {
  175.       return 0.5F;
  176.    }
  177.  
  178.    public void invalidateLayout(Container var1) {
  179.    }
  180.  
  181.    public void layoutContainer(Container var1) {
  182.       Insets var2 = var1.getInsets();
  183.       int var3 = var2.top;
  184.       int var4 = var1.height - var2.bottom;
  185.       int var5 = var2.left;
  186.       int var6 = var1.width - var2.right;
  187.       if (this.north != null && this.north.visible) {
  188.          this.north.setSize(var6 - var5, this.north.height);
  189.          Dimension var7 = this.north.getPreferredSize();
  190.          this.north.setBounds(var5, var3, var6 - var5, var7.height);
  191.          var3 += var7.height + this.vgap;
  192.       }
  193.  
  194.       if (this.south != null && this.south.visible) {
  195.          this.south.setSize(var6 - var5, this.south.height);
  196.          Dimension var8 = this.south.getPreferredSize();
  197.          this.south.setBounds(var5, var4 - var8.height, var6 - var5, var8.height);
  198.          var4 -= var8.height + this.vgap;
  199.       }
  200.  
  201.       if (this.east != null && this.east.visible) {
  202.          this.east.setSize(this.east.width, var4 - var3);
  203.          Dimension var9 = this.east.getPreferredSize();
  204.          this.east.setBounds(var6 - var9.width, var3, var9.width, var4 - var3);
  205.          var6 -= var9.width + this.hgap;
  206.       }
  207.  
  208.       if (this.west != null && this.west.visible) {
  209.          this.west.setSize(this.west.width, var4 - var3);
  210.          Dimension var10 = this.west.getPreferredSize();
  211.          this.west.setBounds(var5, var3, var10.width, var4 - var3);
  212.          var5 += var10.width + this.hgap;
  213.       }
  214.  
  215.       if (this.center != null && this.center.visible) {
  216.          this.center.setBounds(var5, var3, var6 - var5, var4 - var3);
  217.       }
  218.  
  219.    }
  220.  
  221.    public String toString() {
  222.       return this.getClass().getName() + "[hgap=" + this.hgap + ",vgap=" + this.vgap + "]";
  223.    }
  224. }
  225.