home *** CD-ROM | disk | FTP | other *** search
/ Dynamic HTML Construction Kit / Dynamic HTML Construction Kit.iso / earthlink / nscomm / java40.jar / java / awt / CardLayout.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-11-03  |  3.5 KB  |  232 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 LayoutManager, 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 void addLayoutComponent(String var1, Component var2) {
  23.       if (this.tab.size() > 0) {
  24.          var2.hide();
  25.       }
  26.  
  27.       this.tab.put(var1, var2);
  28.    }
  29.  
  30.    public void removeLayoutComponent(Component var1) {
  31.       Enumeration var2 = this.tab.keys();
  32.  
  33.       while(var2.hasMoreElements()) {
  34.          String var3 = (String)var2.nextElement();
  35.          if (this.tab.get(var3) == var1) {
  36.             this.tab.remove(var3);
  37.             return;
  38.          }
  39.       }
  40.  
  41.    }
  42.  
  43.    public Dimension preferredLayoutSize(Container var1) {
  44.       Insets var2 = var1.insets();
  45.       int var3 = var1.countComponents();
  46.       int var4 = 0;
  47.       int var5 = 0;
  48.  
  49.       for(int var6 = 0; var6 < var3; ++var6) {
  50.          Component var7 = var1.getComponent(var6);
  51.          Dimension var8 = var7.preferredSize();
  52.          if (var8.width > var4) {
  53.             var4 = var8.width;
  54.          }
  55.  
  56.          if (var8.height > var5) {
  57.             var5 = var8.height;
  58.          }
  59.       }
  60.  
  61.       return new Dimension(var2.left + var2.right + var4 + this.hgap * 2, var2.top + var2.bottom + var5 + this.vgap * 2);
  62.    }
  63.  
  64.    public Dimension minimumLayoutSize(Container var1) {
  65.       Insets var2 = var1.insets();
  66.       int var3 = var1.countComponents();
  67.       int var4 = 0;
  68.       int var5 = 0;
  69.  
  70.       for(int var6 = 0; var6 < var3; ++var6) {
  71.          Component var7 = var1.getComponent(var6);
  72.          Dimension var8 = var7.minimumSize();
  73.          if (var8.width > var4) {
  74.             var4 = var8.width;
  75.          }
  76.  
  77.          if (var8.height > var5) {
  78.             var5 = var8.height;
  79.          }
  80.       }
  81.  
  82.       return new Dimension(var2.left + var2.right + var4 + this.hgap * 2, var2.top + var2.bottom + var5 + this.vgap * 2);
  83.    }
  84.  
  85.    public void layoutContainer(Container var1) {
  86.       synchronized(var1){}
  87.  
  88.       try {
  89.          Insets var4 = var1.insets();
  90.          int var5 = var1.countComponents();
  91.  
  92.          for(int var6 = 0; var6 < var5; ++var6) {
  93.             Component var7 = var1.getComponent(var6);
  94.             if (var7.visible) {
  95.                var7.reshape(this.hgap + var4.left, this.vgap + var4.top, var1.width - (this.hgap * 2 + var4.left + var4.right), var1.height - (this.vgap * 2 + var4.top + var4.bottom));
  96.             }
  97.          }
  98.       } catch (Throwable var9) {
  99.          throw var9;
  100.       }
  101.  
  102.    }
  103.  
  104.    void checkLayout(Container var1) {
  105.       if (var1.getLayout() != this) {
  106.          throw new IllegalArgumentException("wrong parent for CardLayout");
  107.       }
  108.    }
  109.  
  110.    public void first(Container var1) {
  111.       synchronized(var1){}
  112.  
  113.       try {
  114.          this.checkLayout(var1);
  115.          int var4 = var1.countComponents();
  116.  
  117.          for(int var5 = 0; var5 < var4; ++var5) {
  118.             Component var6 = var1.getComponent(var5);
  119.             if (var6.visible) {
  120.                var6.hide();
  121.                var6 = var1.getComponent(0);
  122.                var6.show();
  123.                var1.validate();
  124.                return;
  125.             }
  126.          }
  127.  
  128.       } catch (Throwable var8) {
  129.          throw var8;
  130.       }
  131.    }
  132.  
  133.    public void next(Container var1) {
  134.       synchronized(var1){}
  135.  
  136.       try {
  137.          this.checkLayout(var1);
  138.          int var4 = var1.countComponents();
  139.  
  140.          for(int var5 = 0; var5 < var4; ++var5) {
  141.             Component var6 = var1.getComponent(var5);
  142.             if (var6.visible) {
  143.                var6.hide();
  144.                var6 = var1.getComponent(var5 + 1 < var4 ? var5 + 1 : 0);
  145.                var6.show();
  146.                var1.validate();
  147.                return;
  148.             }
  149.          }
  150.  
  151.       } catch (Throwable var8) {
  152.          throw var8;
  153.       }
  154.    }
  155.  
  156.    public void previous(Container var1) {
  157.       synchronized(var1){}
  158.  
  159.       try {
  160.          this.checkLayout(var1);
  161.          int var4 = var1.countComponents();
  162.  
  163.          for(int var5 = 0; var5 < var4; ++var5) {
  164.             Component var6 = var1.getComponent(var5);
  165.             if (var6.visible) {
  166.                var6.hide();
  167.                var6 = var1.getComponent(var5 > 0 ? var5 - 1 : var4 - 1);
  168.                var6.show();
  169.                var1.validate();
  170.                return;
  171.             }
  172.          }
  173.  
  174.       } catch (Throwable var8) {
  175.          throw var8;
  176.       }
  177.    }
  178.  
  179.    public void last(Container var1) {
  180.       synchronized(var1){}
  181.  
  182.       try {
  183.          this.checkLayout(var1);
  184.          int var4 = var1.countComponents();
  185.  
  186.          for(int var5 = 0; var5 < var4; ++var5) {
  187.             Component var6 = var1.getComponent(var5);
  188.             if (var6.visible) {
  189.                var6.hide();
  190.                var6 = var1.getComponent(var4 - 1);
  191.                var6.show();
  192.                var1.validate();
  193.                return;
  194.             }
  195.          }
  196.  
  197.       } catch (Throwable var8) {
  198.          throw var8;
  199.       }
  200.    }
  201.  
  202.    public void show(Container var1, String var2) {
  203.       synchronized(var1){}
  204.  
  205.       try {
  206.          this.checkLayout(var1);
  207.          Component var5 = (Component)this.tab.get(var2);
  208.          if (var5 != null && !var5.visible) {
  209.             int var6 = var1.countComponents();
  210.  
  211.             for(int var7 = 0; var7 < var6; ++var7) {
  212.                Component var8 = var1.getComponent(var7);
  213.                if (var8.visible) {
  214.                   var8.hide();
  215.                   break;
  216.                }
  217.             }
  218.  
  219.             var5.show();
  220.             var1.validate();
  221.          }
  222.       } catch (Throwable var10) {
  223.          throw var10;
  224.       }
  225.  
  226.    }
  227.  
  228.    public String toString() {
  229.       return this.getClass().getName() + "[hgap=" + this.hgap + ",vgap=" + this.vgap + "]";
  230.    }
  231. }
  232.