home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 1999 April / DPPCPRO0499.ISO / April / Notes / 50b2wic.exe / DATA1.CAB / NotesProgramFilesJavaSupport / rt.jar / java / awt / BorderLayout.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-04-23  |  5.0 KB  |  276 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.       Object var3 = var1.getTreeLock();
  47.       synchronized(var3){}
  48.  
  49.       try {
  50.          if (var2 != null && !(var2 instanceof String)) {
  51.             throw new IllegalArgumentException("cannot add to layout: constraint must be a string (or null)");
  52.          }
  53.  
  54.          this.addLayoutComponent((String)var2, var1);
  55.       } catch (Throwable var5) {
  56.          throw var5;
  57.       }
  58.  
  59.    }
  60.  
  61.    /** @deprecated */
  62.    public void addLayoutComponent(String var1, Component var2) {
  63.       Object var3 = var2.getTreeLock();
  64.       synchronized(var3){}
  65.  
  66.       try {
  67.          if (var1 == null) {
  68.             var1 = "Center";
  69.          }
  70.  
  71.          if ("Center".equals(var1)) {
  72.             this.center = var2;
  73.          } else if ("North".equals(var1)) {
  74.             this.north = var2;
  75.          } else if ("South".equals(var1)) {
  76.             this.south = var2;
  77.          } else if ("East".equals(var1)) {
  78.             this.east = var2;
  79.          } else {
  80.             if (!"West".equals(var1)) {
  81.                throw new IllegalArgumentException("cannot add to layout: unknown constraint: " + var1);
  82.             }
  83.  
  84.             this.west = var2;
  85.          }
  86.       } catch (Throwable var5) {
  87.          throw var5;
  88.       }
  89.  
  90.    }
  91.  
  92.    public void removeLayoutComponent(Component var1) {
  93.       Object var2 = var1.getTreeLock();
  94.       synchronized(var2){}
  95.  
  96.       try {
  97.          if (var1 == this.center) {
  98.             this.center = null;
  99.          } else if (var1 == this.north) {
  100.             this.north = null;
  101.          } else if (var1 == this.south) {
  102.             this.south = null;
  103.          } else if (var1 == this.east) {
  104.             this.east = null;
  105.          } else if (var1 == this.west) {
  106.             this.west = null;
  107.          }
  108.       } catch (Throwable var4) {
  109.          throw var4;
  110.       }
  111.  
  112.    }
  113.  
  114.    public Dimension minimumLayoutSize(Container var1) {
  115.       Object var3 = ((Component)var1).getTreeLock();
  116.       synchronized(var3){}
  117.  
  118.       Dimension var2;
  119.       try {
  120.          Dimension var5 = new Dimension(0, 0);
  121.          if (this.east != null && this.east.visible) {
  122.             Dimension var6 = this.east.getMinimumSize();
  123.             var5.width += var6.width + this.hgap;
  124.             var5.height = Math.max(var6.height, var5.height);
  125.          }
  126.  
  127.          if (this.west != null && this.west.visible) {
  128.             Dimension var9 = this.west.getMinimumSize();
  129.             var5.width += var9.width + this.hgap;
  130.             var5.height = Math.max(var9.height, var5.height);
  131.          }
  132.  
  133.          if (this.center != null && this.center.visible) {
  134.             Dimension var10 = this.center.getMinimumSize();
  135.             var5.width += var10.width;
  136.             var5.height = Math.max(var10.height, var5.height);
  137.          }
  138.  
  139.          if (this.north != null && this.north.visible) {
  140.             Dimension var11 = this.north.getMinimumSize();
  141.             var5.width = Math.max(var11.width, var5.width);
  142.             var5.height += var11.height + this.vgap;
  143.          }
  144.  
  145.          if (this.south != null && this.south.visible) {
  146.             Dimension var12 = this.south.getMinimumSize();
  147.             var5.width = Math.max(var12.width, var5.width);
  148.             var5.height += var12.height + this.vgap;
  149.          }
  150.  
  151.          Insets var13 = var1.getInsets();
  152.          var5.width += var13.left + var13.right;
  153.          var5.height += var13.top + var13.bottom;
  154.          var2 = var5;
  155.       } catch (Throwable var8) {
  156.          throw var8;
  157.       }
  158.  
  159.       return var2;
  160.    }
  161.  
  162.    public Dimension preferredLayoutSize(Container var1) {
  163.       Object var3 = ((Component)var1).getTreeLock();
  164.       synchronized(var3){}
  165.  
  166.       Dimension var2;
  167.       try {
  168.          Dimension var5 = new Dimension(0, 0);
  169.          if (this.east != null && this.east.visible) {
  170.             Dimension var6 = this.east.getPreferredSize();
  171.             var5.width += var6.width + this.hgap;
  172.             var5.height = Math.max(var6.height, var5.height);
  173.          }
  174.  
  175.          if (this.west != null && this.west.visible) {
  176.             Dimension var9 = this.west.getPreferredSize();
  177.             var5.width += var9.width + this.hgap;
  178.             var5.height = Math.max(var9.height, var5.height);
  179.          }
  180.  
  181.          if (this.center != null && this.center.visible) {
  182.             Dimension var10 = this.center.getPreferredSize();
  183.             var5.width += var10.width;
  184.             var5.height = Math.max(var10.height, var5.height);
  185.          }
  186.  
  187.          if (this.north != null && this.north.visible) {
  188.             Dimension var11 = this.north.getPreferredSize();
  189.             var5.width = Math.max(var11.width, var5.width);
  190.             var5.height += var11.height + this.vgap;
  191.          }
  192.  
  193.          if (this.south != null && this.south.visible) {
  194.             Dimension var12 = this.south.getPreferredSize();
  195.             var5.width = Math.max(var12.width, var5.width);
  196.             var5.height += var12.height + this.vgap;
  197.          }
  198.  
  199.          Insets var13 = var1.getInsets();
  200.          var5.width += var13.left + var13.right;
  201.          var5.height += var13.top + var13.bottom;
  202.          var2 = var5;
  203.       } catch (Throwable var8) {
  204.          throw var8;
  205.       }
  206.  
  207.       return var2;
  208.    }
  209.  
  210.    public Dimension maximumLayoutSize(Container var1) {
  211.       return new Dimension(Integer.MAX_VALUE, Integer.MAX_VALUE);
  212.    }
  213.  
  214.    public float getLayoutAlignmentX(Container var1) {
  215.       return 0.5F;
  216.    }
  217.  
  218.    public float getLayoutAlignmentY(Container var1) {
  219.       return 0.5F;
  220.    }
  221.  
  222.    public void invalidateLayout(Container var1) {
  223.    }
  224.  
  225.    public void layoutContainer(Container var1) {
  226.       Object var2 = ((Component)var1).getTreeLock();
  227.       synchronized(var2){}
  228.  
  229.       try {
  230.          Insets var4 = var1.getInsets();
  231.          int var5 = var4.top;
  232.          int var6 = var1.height - var4.bottom;
  233.          int var7 = var4.left;
  234.          int var8 = var1.width - var4.right;
  235.          if (this.north != null && this.north.visible) {
  236.             this.north.setSize(var8 - var7, this.north.height);
  237.             Dimension var9 = this.north.getPreferredSize();
  238.             this.north.setBounds(var7, var5, var8 - var7, var9.height);
  239.             var5 += var9.height + this.vgap;
  240.          }
  241.  
  242.          if (this.south != null && this.south.visible) {
  243.             this.south.setSize(var8 - var7, this.south.height);
  244.             Dimension var12 = this.south.getPreferredSize();
  245.             this.south.setBounds(var7, var6 - var12.height, var8 - var7, var12.height);
  246.             var6 -= var12.height + this.vgap;
  247.          }
  248.  
  249.          if (this.east != null && this.east.visible) {
  250.             this.east.setSize(this.east.width, var6 - var5);
  251.             Dimension var13 = this.east.getPreferredSize();
  252.             this.east.setBounds(var8 - var13.width, var5, var13.width, var6 - var5);
  253.             var8 -= var13.width + this.hgap;
  254.          }
  255.  
  256.          if (this.west != null && this.west.visible) {
  257.             this.west.setSize(this.west.width, var6 - var5);
  258.             Dimension var14 = this.west.getPreferredSize();
  259.             this.west.setBounds(var7, var5, var14.width, var6 - var5);
  260.             var7 += var14.width + this.hgap;
  261.          }
  262.  
  263.          if (this.center != null && this.center.visible) {
  264.             this.center.setBounds(var7, var5, var8 - var7, var6 - var5);
  265.          }
  266.       } catch (Throwable var11) {
  267.          throw var11;
  268.       }
  269.  
  270.    }
  271.  
  272.    public String toString() {
  273.       return this.getClass().getName() + "[hgap=" + this.hgap + ",vgap=" + this.vgap + "]";
  274.    }
  275. }
  276.