home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &n…he Search for Life DVD 2 / DVD-ROM.iso / install / jre1_3 / lib / rt.jar / java / awt / BorderLayout.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  4.9 KB  |  306 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.    Component firstLine;
  14.    Component lastLine;
  15.    Component firstItem;
  16.    Component lastItem;
  17.    public static final String NORTH = "North";
  18.    public static final String SOUTH = "South";
  19.    public static final String EAST = "East";
  20.    public static final String WEST = "West";
  21.    public static final String CENTER = "Center";
  22.    public static final String BEFORE_FIRST_LINE = "First";
  23.    public static final String AFTER_LAST_LINE = "Last";
  24.    public static final String BEFORE_LINE_BEGINS = "Before";
  25.    public static final String AFTER_LINE_ENDS = "After";
  26.    private static final long serialVersionUID = -8658291919501921765L;
  27.  
  28.    public BorderLayout() {
  29.       this(0, 0);
  30.    }
  31.  
  32.    public BorderLayout(int var1, int var2) {
  33.       this.hgap = var1;
  34.       this.vgap = var2;
  35.    }
  36.  
  37.    public int getHgap() {
  38.       return this.hgap;
  39.    }
  40.  
  41.    public void setHgap(int var1) {
  42.       this.hgap = var1;
  43.    }
  44.  
  45.    public int getVgap() {
  46.       return this.vgap;
  47.    }
  48.  
  49.    public void setVgap(int var1) {
  50.       this.vgap = var1;
  51.    }
  52.  
  53.    public void addLayoutComponent(Component var1, Object var2) {
  54.       Object var3 = var1.getTreeLock();
  55.       synchronized(var3) {
  56.          if (var2 != null && !(var2 instanceof String)) {
  57.             throw new IllegalArgumentException("cannot add to layout: constraint must be a string (or null)");
  58.          } else {
  59.             this.addLayoutComponent((String)var2, var1);
  60.          }
  61.       }
  62.    }
  63.  
  64.    public void addLayoutComponent(String var1, Component var2) {
  65.       Object var3 = var2.getTreeLock();
  66.       synchronized(var3) {
  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 if ("West".equals(var1)) {
  80.             this.west = var2;
  81.          } else if ("First".equals(var1)) {
  82.             this.firstLine = var2;
  83.          } else if ("Last".equals(var1)) {
  84.             this.lastLine = var2;
  85.          } else if ("Before".equals(var1)) {
  86.             this.firstItem = var2;
  87.          } else {
  88.             if (!"After".equals(var1)) {
  89.                throw new IllegalArgumentException("cannot add to layout: unknown constraint: " + var1);
  90.             }
  91.  
  92.             this.lastItem = var2;
  93.          }
  94.  
  95.       }
  96.    }
  97.  
  98.    public void removeLayoutComponent(Component var1) {
  99.       Object var2 = var1.getTreeLock();
  100.       synchronized(var2) {
  101.          if (var1 == this.center) {
  102.             this.center = null;
  103.          } else if (var1 == this.north) {
  104.             this.north = null;
  105.          } else if (var1 == this.south) {
  106.             this.south = null;
  107.          } else if (var1 == this.east) {
  108.             this.east = null;
  109.          } else if (var1 == this.west) {
  110.             this.west = null;
  111.          }
  112.  
  113.          if (var1 == this.firstLine) {
  114.             this.firstLine = null;
  115.          } else if (var1 == this.lastLine) {
  116.             this.lastLine = null;
  117.          } else if (var1 == this.firstItem) {
  118.             this.firstItem = null;
  119.          } else if (var1 == this.lastItem) {
  120.             this.lastItem = null;
  121.          }
  122.  
  123.       }
  124.    }
  125.  
  126.    public Dimension minimumLayoutSize(Container var1) {
  127.       Object var2 = ((Component)var1).getTreeLock();
  128.       synchronized(var2) {
  129.          Dimension var3 = new Dimension(0, 0);
  130.          boolean var4 = ((Component)var1).getComponentOrientation().isLeftToRight();
  131.          Object var5 = null;
  132.          Component var10;
  133.          if ((var10 = this.getChild("East", var4)) != null) {
  134.             Dimension var6 = var10.getMinimumSize();
  135.             var3.width += var6.width + this.hgap;
  136.             var3.height = Math.max(var6.height, var3.height);
  137.          }
  138.  
  139.          if ((var10 = this.getChild("West", var4)) != null) {
  140.             Dimension var15 = var10.getMinimumSize();
  141.             var3.width += var15.width + this.hgap;
  142.             var3.height = Math.max(var15.height, var3.height);
  143.          }
  144.  
  145.          if ((var10 = this.getChild("Center", var4)) != null) {
  146.             Dimension var16 = var10.getMinimumSize();
  147.             var3.width += var16.width;
  148.             var3.height = Math.max(var16.height, var3.height);
  149.          }
  150.  
  151.          if ((var10 = this.getChild("North", var4)) != null) {
  152.             Dimension var17 = var10.getMinimumSize();
  153.             var3.width = Math.max(var17.width, var3.width);
  154.             var3.height += var17.height + this.vgap;
  155.          }
  156.  
  157.          if ((var10 = this.getChild("South", var4)) != null) {
  158.             Dimension var18 = var10.getMinimumSize();
  159.             var3.width = Math.max(var18.width, var3.width);
  160.             var3.height += var18.height + this.vgap;
  161.          }
  162.  
  163.          Insets var19 = var1.getInsets();
  164.          var3.width += var19.left + var19.right;
  165.          var3.height += var19.top + var19.bottom;
  166.          return var3;
  167.       }
  168.    }
  169.  
  170.    public Dimension preferredLayoutSize(Container var1) {
  171.       Object var2 = ((Component)var1).getTreeLock();
  172.       synchronized(var2) {
  173.          Dimension var3 = new Dimension(0, 0);
  174.          boolean var4 = ((Component)var1).getComponentOrientation().isLeftToRight();
  175.          Object var5 = null;
  176.          Component var10;
  177.          if ((var10 = this.getChild("East", var4)) != null) {
  178.             Dimension var6 = var10.getPreferredSize();
  179.             var3.width += var6.width + this.hgap;
  180.             var3.height = Math.max(var6.height, var3.height);
  181.          }
  182.  
  183.          if ((var10 = this.getChild("West", var4)) != null) {
  184.             Dimension var15 = var10.getPreferredSize();
  185.             var3.width += var15.width + this.hgap;
  186.             var3.height = Math.max(var15.height, var3.height);
  187.          }
  188.  
  189.          if ((var10 = this.getChild("Center", var4)) != null) {
  190.             Dimension var16 = var10.getPreferredSize();
  191.             var3.width += var16.width;
  192.             var3.height = Math.max(var16.height, var3.height);
  193.          }
  194.  
  195.          if ((var10 = this.getChild("North", var4)) != null) {
  196.             Dimension var17 = var10.getPreferredSize();
  197.             var3.width = Math.max(var17.width, var3.width);
  198.             var3.height += var17.height + this.vgap;
  199.          }
  200.  
  201.          if ((var10 = this.getChild("South", var4)) != null) {
  202.             Dimension var18 = var10.getPreferredSize();
  203.             var3.width = Math.max(var18.width, var3.width);
  204.             var3.height += var18.height + this.vgap;
  205.          }
  206.  
  207.          Insets var19 = var1.getInsets();
  208.          var3.width += var19.left + var19.right;
  209.          var3.height += var19.top + var19.bottom;
  210.          return var3;
  211.       }
  212.    }
  213.  
  214.    public Dimension maximumLayoutSize(Container var1) {
  215.       return new Dimension(Integer.MAX_VALUE, Integer.MAX_VALUE);
  216.    }
  217.  
  218.    public float getLayoutAlignmentX(Container var1) {
  219.       return 0.5F;
  220.    }
  221.  
  222.    public float getLayoutAlignmentY(Container var1) {
  223.       return 0.5F;
  224.    }
  225.  
  226.    public void invalidateLayout(Container var1) {
  227.    }
  228.  
  229.    public void layoutContainer(Container var1) {
  230.       Object var2 = ((Component)var1).getTreeLock();
  231.       synchronized(var2) {
  232.          Insets var3 = var1.getInsets();
  233.          int var4 = var3.top;
  234.          int var5 = var1.height - var3.bottom;
  235.          int var6 = var3.left;
  236.          int var7 = var1.width - var3.right;
  237.          boolean var8 = ((Component)var1).getComponentOrientation().isLeftToRight();
  238.          Object var9 = null;
  239.          Component var13;
  240.          if ((var13 = this.getChild("North", var8)) != null) {
  241.             var13.setSize(var7 - var6, var13.height);
  242.             Dimension var10 = var13.getPreferredSize();
  243.             var13.setBounds(var6, var4, var7 - var6, var10.height);
  244.             var4 += var10.height + this.vgap;
  245.          }
  246.  
  247.          if ((var13 = this.getChild("South", var8)) != null) {
  248.             var13.setSize(var7 - var6, var13.height);
  249.             Dimension var18 = var13.getPreferredSize();
  250.             var13.setBounds(var6, var5 - var18.height, var7 - var6, var18.height);
  251.             var5 -= var18.height + this.vgap;
  252.          }
  253.  
  254.          if ((var13 = this.getChild("East", var8)) != null) {
  255.             var13.setSize(var13.width, var5 - var4);
  256.             Dimension var19 = var13.getPreferredSize();
  257.             var13.setBounds(var7 - var19.width, var4, var19.width, var5 - var4);
  258.             var7 -= var19.width + this.hgap;
  259.          }
  260.  
  261.          if ((var13 = this.getChild("West", var8)) != null) {
  262.             var13.setSize(var13.width, var5 - var4);
  263.             Dimension var20 = var13.getPreferredSize();
  264.             var13.setBounds(var6, var4, var20.width, var5 - var4);
  265.             var6 += var20.width + this.hgap;
  266.          }
  267.  
  268.          if ((var13 = this.getChild("Center", var8)) != null) {
  269.             var13.setBounds(var6, var4, var7 - var6, var5 - var4);
  270.          }
  271.  
  272.       }
  273.    }
  274.  
  275.    private Component getChild(String var1, boolean var2) {
  276.       Component var3 = null;
  277.       if (var1 == "North") {
  278.          var3 = this.firstLine != null ? this.firstLine : this.north;
  279.       } else if (var1 == "South") {
  280.          var3 = this.lastLine != null ? this.lastLine : this.south;
  281.       } else if (var1 == "West") {
  282.          var3 = var2 ? this.firstItem : this.lastItem;
  283.          if (var3 == null) {
  284.             var3 = this.west;
  285.          }
  286.       } else if (var1 == "East") {
  287.          var3 = var2 ? this.lastItem : this.firstItem;
  288.          if (var3 == null) {
  289.             var3 = this.east;
  290.          }
  291.       } else if (var1 == "Center") {
  292.          var3 = this.center;
  293.       }
  294.  
  295.       if (var3 != null && !var3.visible) {
  296.          var3 = null;
  297.       }
  298.  
  299.       return var3;
  300.    }
  301.  
  302.    public String toString() {
  303.       return this.getClass().getName() + "[hgap=" + this.hgap + ",vgap=" + this.vgap + "]";
  304.    }
  305. }
  306.