home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1997 October / PCO1097.ISO / FilesBBS / WIN95 / IAVAZIP.EXE / DATA.Z / rt.jar / java / awt / BorderLayout.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-05-20  |  4.7 KB  |  226 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.    /** @deprecated */
  54.    public void addLayoutComponent(String var1, Component var2) {
  55.       if (var1 == null) {
  56.          var1 = "Center";
  57.       }
  58.  
  59.       if ("Center".equals(var1)) {
  60.          this.center = var2;
  61.       } else if ("North".equals(var1)) {
  62.          this.north = var2;
  63.       } else if ("South".equals(var1)) {
  64.          this.south = var2;
  65.       } else if ("East".equals(var1)) {
  66.          this.east = var2;
  67.       } else if ("West".equals(var1)) {
  68.          this.west = var2;
  69.       } else {
  70.          throw new IllegalArgumentException("cannot add to layout: unknown constraint: " + var1);
  71.       }
  72.    }
  73.  
  74.    public void removeLayoutComponent(Component var1) {
  75.       if (var1 == this.center) {
  76.          this.center = null;
  77.       } else if (var1 == this.north) {
  78.          this.north = null;
  79.       } else if (var1 == this.south) {
  80.          this.south = null;
  81.       } else if (var1 == this.east) {
  82.          this.east = null;
  83.       } else {
  84.          if (var1 == this.west) {
  85.             this.west = null;
  86.          }
  87.  
  88.       }
  89.    }
  90.  
  91.    public Dimension minimumLayoutSize(Container var1) {
  92.       Dimension var2 = new Dimension(0, 0);
  93.       if (this.east != null && this.east.visible) {
  94.          Dimension var3 = this.east.getMinimumSize();
  95.          var2.width += var3.width + this.hgap;
  96.          var2.height = Math.max(var3.height, var2.height);
  97.       }
  98.  
  99.       if (this.west != null && this.west.visible) {
  100.          Dimension var4 = this.west.getMinimumSize();
  101.          var2.width += var4.width + this.hgap;
  102.          var2.height = Math.max(var4.height, var2.height);
  103.       }
  104.  
  105.       if (this.center != null && this.center.visible) {
  106.          Dimension var5 = this.center.getMinimumSize();
  107.          var2.width += var5.width;
  108.          var2.height = Math.max(var5.height, var2.height);
  109.       }
  110.  
  111.       if (this.north != null && this.north.visible) {
  112.          Dimension var6 = this.north.getMinimumSize();
  113.          var2.width = Math.max(var6.width, var2.width);
  114.          var2.height += var6.height + this.vgap;
  115.       }
  116.  
  117.       if (this.south != null && this.south.visible) {
  118.          Dimension var7 = this.south.getMinimumSize();
  119.          var2.width = Math.max(var7.width, var2.width);
  120.          var2.height += var7.height + this.vgap;
  121.       }
  122.  
  123.       Insets var8 = var1.getInsets();
  124.       var2.width += var8.left + var8.right;
  125.       var2.height += var8.top + var8.bottom;
  126.       return var2;
  127.    }
  128.  
  129.    public Dimension preferredLayoutSize(Container var1) {
  130.       Dimension var2 = new Dimension(0, 0);
  131.       if (this.east != null && this.east.visible) {
  132.          Dimension var3 = this.east.getPreferredSize();
  133.          var2.width += var3.width + this.hgap;
  134.          var2.height = Math.max(var3.height, var2.height);
  135.       }
  136.  
  137.       if (this.west != null && this.west.visible) {
  138.          Dimension var4 = this.west.getPreferredSize();
  139.          var2.width += var4.width + this.hgap;
  140.          var2.height = Math.max(var4.height, var2.height);
  141.       }
  142.  
  143.       if (this.center != null && this.center.visible) {
  144.          Dimension var5 = this.center.getPreferredSize();
  145.          var2.width += var5.width;
  146.          var2.height = Math.max(var5.height, var2.height);
  147.       }
  148.  
  149.       if (this.north != null && this.north.visible) {
  150.          Dimension var6 = this.north.getPreferredSize();
  151.          var2.width = Math.max(var6.width, var2.width);
  152.          var2.height += var6.height + this.vgap;
  153.       }
  154.  
  155.       if (this.south != null && this.south.visible) {
  156.          Dimension var7 = this.south.getPreferredSize();
  157.          var2.width = Math.max(var7.width, var2.width);
  158.          var2.height += var7.height + this.vgap;
  159.       }
  160.  
  161.       Insets var8 = var1.getInsets();
  162.       var2.width += var8.left + var8.right;
  163.       var2.height += var8.top + var8.bottom;
  164.       return var2;
  165.    }
  166.  
  167.    public Dimension maximumLayoutSize(Container var1) {
  168.       return new Dimension(Integer.MAX_VALUE, Integer.MAX_VALUE);
  169.    }
  170.  
  171.    public float getLayoutAlignmentX(Container var1) {
  172.       return 0.5F;
  173.    }
  174.  
  175.    public float getLayoutAlignmentY(Container var1) {
  176.       return 0.5F;
  177.    }
  178.  
  179.    public void invalidateLayout(Container var1) {
  180.    }
  181.  
  182.    public void layoutContainer(Container var1) {
  183.       Insets var2 = var1.getInsets();
  184.       int var3 = var2.top;
  185.       int var4 = var1.height - var2.bottom;
  186.       int var5 = var2.left;
  187.       int var6 = var1.width - var2.right;
  188.       if (this.north != null && this.north.visible) {
  189.          this.north.setSize(var6 - var5, this.north.height);
  190.          Dimension var7 = this.north.getPreferredSize();
  191.          this.north.setBounds(var5, var3, var6 - var5, var7.height);
  192.          var3 += var7.height + this.vgap;
  193.       }
  194.  
  195.       if (this.south != null && this.south.visible) {
  196.          this.south.setSize(var6 - var5, this.south.height);
  197.          Dimension var8 = this.south.getPreferredSize();
  198.          this.south.setBounds(var5, var4 - var8.height, var6 - var5, var8.height);
  199.          var4 -= var8.height + this.vgap;
  200.       }
  201.  
  202.       if (this.east != null && this.east.visible) {
  203.          this.east.setSize(this.east.width, var4 - var3);
  204.          Dimension var9 = this.east.getPreferredSize();
  205.          this.east.setBounds(var6 - var9.width, var3, var9.width, var4 - var3);
  206.          var6 -= var9.width + this.hgap;
  207.       }
  208.  
  209.       if (this.west != null && this.west.visible) {
  210.          this.west.setSize(this.west.width, var4 - var3);
  211.          Dimension var10 = this.west.getPreferredSize();
  212.          this.west.setBounds(var5, var3, var10.width, var4 - var3);
  213.          var5 += var10.width + this.hgap;
  214.       }
  215.  
  216.       if (this.center != null && this.center.visible) {
  217.          this.center.setBounds(var5, var3, var6 - var5, var4 - var3);
  218.       }
  219.  
  220.    }
  221.  
  222.    public String toString() {
  223.       return this.getClass().getName() + "[hgap=" + this.hgap + ",vgap=" + this.vgap + "]";
  224.    }
  225. }
  226.