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 / CardLayout.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  4.1 KB  |  270 lines

  1. package java.awt;
  2.  
  3. import java.io.Serializable;
  4. import java.util.Enumeration;
  5. import java.util.Hashtable;
  6.  
  7. public class CardLayout implements LayoutManager2, Serializable {
  8.    Hashtable tab;
  9.    int hgap;
  10.    int vgap;
  11.  
  12.    public CardLayout() {
  13.       this(0, 0);
  14.    }
  15.  
  16.    public CardLayout(int var1, int var2) {
  17.       this.tab = new Hashtable();
  18.       this.hgap = var1;
  19.       this.vgap = var2;
  20.    }
  21.  
  22.    public int getHgap() {
  23.       return this.hgap;
  24.    }
  25.  
  26.    public void setHgap(int var1) {
  27.       this.hgap = var1;
  28.    }
  29.  
  30.    public int getVgap() {
  31.       return this.vgap;
  32.    }
  33.  
  34.    public void setVgap(int var1) {
  35.       this.vgap = var1;
  36.    }
  37.  
  38.    public void addLayoutComponent(Component var1, Object var2) {
  39.       Object var3 = var1.getTreeLock();
  40.       synchronized(var3) {
  41.          if (var2 instanceof String) {
  42.             this.addLayoutComponent((String)var2, var1);
  43.          } else {
  44.             throw new IllegalArgumentException("cannot add to layout: constraint must be a string");
  45.          }
  46.       }
  47.    }
  48.  
  49.    public void addLayoutComponent(String var1, Component var2) {
  50.       Object var3 = var2.getTreeLock();
  51.       synchronized(var3) {
  52.          if (this.tab.size() > 0) {
  53.             var2.hide();
  54.          }
  55.  
  56.          this.tab.put(var1, var2);
  57.       }
  58.    }
  59.  
  60.    public void removeLayoutComponent(Component var1) {
  61.       Object var2 = var1.getTreeLock();
  62.       synchronized(var2) {
  63.          Enumeration var3 = this.tab.keys();
  64.  
  65.          while(var3.hasMoreElements()) {
  66.             String var4 = (String)var3.nextElement();
  67.             if (this.tab.get(var4) == var1) {
  68.                this.tab.remove(var4);
  69.                return;
  70.             }
  71.          }
  72.  
  73.       }
  74.    }
  75.  
  76.    public Dimension preferredLayoutSize(Container var1) {
  77.       Object var2 = ((Component)var1).getTreeLock();
  78.       synchronized(var2) {
  79.          Insets var3 = var1.getInsets();
  80.          int var4 = var1.getComponentCount();
  81.          int var5 = 0;
  82.          int var6 = 0;
  83.  
  84.          for(int var7 = 0; var7 < var4; ++var7) {
  85.             Component var8 = var1.getComponent(var7);
  86.             Dimension var9 = var8.getPreferredSize();
  87.             if (var9.width > var5) {
  88.                var5 = var9.width;
  89.             }
  90.  
  91.             if (var9.height > var6) {
  92.                var6 = var9.height;
  93.             }
  94.          }
  95.  
  96.          Dimension var12 = new Dimension(var3.left + var3.right + var5 + this.hgap * 2, var3.top + var3.bottom + var6 + this.vgap * 2);
  97.          return var12;
  98.       }
  99.    }
  100.  
  101.    public Dimension minimumLayoutSize(Container var1) {
  102.       Object var2 = ((Component)var1).getTreeLock();
  103.       synchronized(var2) {
  104.          Insets var3 = var1.getInsets();
  105.          int var4 = var1.getComponentCount();
  106.          int var5 = 0;
  107.          int var6 = 0;
  108.  
  109.          for(int var7 = 0; var7 < var4; ++var7) {
  110.             Component var8 = var1.getComponent(var7);
  111.             Dimension var9 = var8.getMinimumSize();
  112.             if (var9.width > var5) {
  113.                var5 = var9.width;
  114.             }
  115.  
  116.             if (var9.height > var6) {
  117.                var6 = var9.height;
  118.             }
  119.          }
  120.  
  121.          Dimension var12 = new Dimension(var3.left + var3.right + var5 + this.hgap * 2, var3.top + var3.bottom + var6 + this.vgap * 2);
  122.          return var12;
  123.       }
  124.    }
  125.  
  126.    public Dimension maximumLayoutSize(Container var1) {
  127.       return new Dimension(Integer.MAX_VALUE, Integer.MAX_VALUE);
  128.    }
  129.  
  130.    public float getLayoutAlignmentX(Container var1) {
  131.       return 0.5F;
  132.    }
  133.  
  134.    public float getLayoutAlignmentY(Container var1) {
  135.       return 0.5F;
  136.    }
  137.  
  138.    public void invalidateLayout(Container var1) {
  139.    }
  140.  
  141.    public void layoutContainer(Container var1) {
  142.       Object var2 = ((Component)var1).getTreeLock();
  143.       synchronized(var2) {
  144.          Insets var3 = var1.getInsets();
  145.          int var4 = var1.getComponentCount();
  146.  
  147.          for(int var5 = 0; var5 < var4; ++var5) {
  148.             Component var6 = var1.getComponent(var5);
  149.             if (var6.visible) {
  150.                var6.setBounds(this.hgap + var3.left, this.vgap + var3.top, var1.width - (this.hgap * 2 + var3.left + var3.right), var1.height - (this.vgap * 2 + var3.top + var3.bottom));
  151.             }
  152.          }
  153.  
  154.       }
  155.    }
  156.  
  157.    void checkLayout(Container var1) {
  158.       if (var1.getLayout() != this) {
  159.          throw new IllegalArgumentException("wrong parent for CardLayout");
  160.       }
  161.    }
  162.  
  163.    public void first(Container var1) {
  164.       Object var2 = ((Component)var1).getTreeLock();
  165.       synchronized(var2) {
  166.          this.checkLayout(var1);
  167.          int var3 = var1.getComponentCount();
  168.  
  169.          for(int var4 = 0; var4 < var3; ++var4) {
  170.             Component var5 = var1.getComponent(var4);
  171.             if (var5.visible) {
  172.                var5.hide();
  173.                var5 = var1.getComponent(0);
  174.                var5.show();
  175.                var1.validate();
  176.                return;
  177.             }
  178.          }
  179.  
  180.       }
  181.    }
  182.  
  183.    public void next(Container var1) {
  184.       Object var2 = ((Component)var1).getTreeLock();
  185.       synchronized(var2) {
  186.          this.checkLayout(var1);
  187.          int var3 = var1.getComponentCount();
  188.  
  189.          for(int var4 = 0; var4 < var3; ++var4) {
  190.             Component var5 = var1.getComponent(var4);
  191.             if (var5.visible) {
  192.                var5.hide();
  193.                var5 = var1.getComponent(var4 + 1 < var3 ? var4 + 1 : 0);
  194.                var5.show();
  195.                var1.validate();
  196.                return;
  197.             }
  198.          }
  199.  
  200.       }
  201.    }
  202.  
  203.    public void previous(Container var1) {
  204.       Object var2 = ((Component)var1).getTreeLock();
  205.       synchronized(var2) {
  206.          this.checkLayout(var1);
  207.          int var3 = var1.getComponentCount();
  208.  
  209.          for(int var4 = 0; var4 < var3; ++var4) {
  210.             Component var5 = var1.getComponent(var4);
  211.             if (var5.visible) {
  212.                var5.hide();
  213.                var5 = var1.getComponent(var4 > 0 ? var4 - 1 : var3 - 1);
  214.                var5.show();
  215.                var1.validate();
  216.                return;
  217.             }
  218.          }
  219.  
  220.       }
  221.    }
  222.  
  223.    public void last(Container var1) {
  224.       Object var2 = ((Component)var1).getTreeLock();
  225.       synchronized(var2) {
  226.          this.checkLayout(var1);
  227.          int var3 = var1.getComponentCount();
  228.  
  229.          for(int var4 = 0; var4 < var3; ++var4) {
  230.             Component var5 = var1.getComponent(var4);
  231.             if (var5.visible) {
  232.                var5.hide();
  233.                var5 = var1.getComponent(var3 - 1);
  234.                var5.show();
  235.                var1.validate();
  236.                return;
  237.             }
  238.          }
  239.  
  240.       }
  241.    }
  242.  
  243.    public void show(Container var1, String var2) {
  244.       Object var3 = ((Component)var1).getTreeLock();
  245.       synchronized(var3) {
  246.          this.checkLayout(var1);
  247.          Component var4 = (Component)this.tab.get(var2);
  248.          if (var4 != null && !var4.visible) {
  249.             int var5 = var1.getComponentCount();
  250.  
  251.             for(int var6 = 0; var6 < var5; ++var6) {
  252.                Component var7 = var1.getComponent(var6);
  253.                if (var7.visible) {
  254.                   var7.hide();
  255.                   break;
  256.                }
  257.             }
  258.  
  259.             var4.show();
  260.             var1.validate();
  261.          }
  262.  
  263.       }
  264.    }
  265.  
  266.    public String toString() {
  267.       return this.getClass().getName() + "[hgap=" + this.hgap + ",vgap=" + this.vgap + "]";
  268.    }
  269. }
  270.