home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 2000 March / pcp161a.iso / handson / files / copyjava.exe / com / sun / java / swing / plaf / basic / AbstractOptionPaneUI$SyncingLayoutManager.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-02-26  |  3.3 KB  |  157 lines

  1. package com.sun.java.swing.plaf.basic;
  2.  
  3. import java.awt.Component;
  4. import java.awt.Container;
  5. import java.awt.Dimension;
  6. import java.awt.Insets;
  7. import java.awt.LayoutManager;
  8. import java.io.Serializable;
  9.  
  10. public class AbstractOptionPaneUI$SyncingLayoutManager implements LayoutManager, Serializable {
  11.    protected boolean syncsAll;
  12.    protected int padding;
  13.    protected boolean centersChildren;
  14.  
  15.    public AbstractOptionPaneUI$SyncingLayoutManager(boolean var1, int var2) {
  16.       this.syncsAll = var1;
  17.       this.padding = var2;
  18.       this.centersChildren = true;
  19.    }
  20.  
  21.    public void setSyncsAll(boolean var1) {
  22.       this.syncsAll = var1;
  23.    }
  24.  
  25.    public boolean getSyncsAll() {
  26.       return this.syncsAll;
  27.    }
  28.  
  29.    public void setPadding(int var1) {
  30.       this.padding = var1;
  31.    }
  32.  
  33.    public int getPadding() {
  34.       return this.padding;
  35.    }
  36.  
  37.    public void setCentersChildren(boolean var1) {
  38.       this.centersChildren = var1;
  39.    }
  40.  
  41.    public boolean getCentersChildren() {
  42.       return this.centersChildren;
  43.    }
  44.  
  45.    public void addLayoutComponent(String var1, Component var2) {
  46.    }
  47.  
  48.    public void layoutContainer(Container var1) {
  49.       Component[] var2 = var1.getComponents();
  50.       if (var2 != null && var2.length > 0) {
  51.          int var3 = var2.length;
  52.          Dimension[] var4 = new Dimension[var3];
  53.          int var6 = var1.getInsets().top;
  54.          if (this.syncsAll) {
  55.             int var15 = 0;
  56.  
  57.             for(int var12 = 0; var12 < var3; ++var12) {
  58.                var4[var12] = var2[var12].getPreferredSize();
  59.                var15 = Math.max(var15, var4[var12].width);
  60.             }
  61.  
  62.             int var16;
  63.             int var17;
  64.             if (this.getCentersChildren()) {
  65.                int var10001 = var15 * var3 + (var3 - 1) * this.padding;
  66.                var16 = (((Component)var1).getSize().width - var10001) / 2;
  67.                var17 = this.padding + var15;
  68.             } else if (var3 > 1) {
  69.                var16 = 0;
  70.                var17 = (((Component)var1).getSize().width - var15 * var3) / (var3 - 1) + var15;
  71.             } else {
  72.                var16 = (((Component)var1).getSize().width - var15) / 2;
  73.                var17 = 0;
  74.             }
  75.  
  76.             for(int var13 = 0; var13 < var3; ++var13) {
  77.                var2[var13].setBounds(var16, var6, var15, var4[var13].height);
  78.                var16 += var17;
  79.             }
  80.  
  81.             return;
  82.          }
  83.  
  84.          int var7 = 0;
  85.  
  86.          for(int var5 = 0; var5 < var3; ++var5) {
  87.             var4[var5] = var2[var5].getPreferredSize();
  88.             var7 += var4[var5].width;
  89.          }
  90.  
  91.          var7 += (var3 - 1) * this.padding;
  92.          boolean var8 = this.getCentersChildren();
  93.          int var9;
  94.          int var10;
  95.          if (var8) {
  96.             var10 = (((Component)var1).getSize().width - var7) / 2;
  97.             var9 = this.padding;
  98.          } else if (var3 > 1) {
  99.             var9 = (((Component)var1).getSize().width - var7) / (var3 - 1);
  100.             var10 = 0;
  101.          } else {
  102.             var10 = (((Component)var1).getSize().width - var7) / 2;
  103.             var9 = 0;
  104.          }
  105.  
  106.          for(int var11 = 0; var11 < var3; ++var11) {
  107.             var2[var11].setBounds(var10, var6, var4[var11].width, var4[var11].height);
  108.             var10 += var9 + var4[var11].width;
  109.          }
  110.       }
  111.  
  112.    }
  113.  
  114.    public Dimension minimumLayoutSize(Container var1) {
  115.       if (var1 != null) {
  116.          Component[] var2 = var1.getComponents();
  117.          if (var2 != null && var2.length > 0) {
  118.             int var4 = var2.length;
  119.             int var5 = 0;
  120.             Insets var6 = var1.getInsets();
  121.             int var7 = var6.top + var6.bottom;
  122.             if (this.syncsAll) {
  123.                int var12 = 0;
  124.  
  125.                for(int var13 = 0; var13 < var4; ++var13) {
  126.                   Dimension var10 = var2[var13].getPreferredSize();
  127.                   var5 = Math.max(var5, var10.height);
  128.                   var12 = Math.max(var12, var10.width);
  129.                }
  130.  
  131.                return new Dimension(var12 * var4 + (var4 - 1) * this.padding, var7 + var5);
  132.             }
  133.  
  134.             int var8 = 0;
  135.  
  136.             for(int var9 = 0; var9 < var4; ++var9) {
  137.                Dimension var3 = var2[var9].getPreferredSize();
  138.                var5 = Math.max(var5, var3.height);
  139.                var8 += var3.width;
  140.             }
  141.  
  142.             var8 += (var4 - 1) * this.padding;
  143.             return new Dimension(var8, var7 + var5);
  144.          }
  145.       }
  146.  
  147.       return new Dimension(0, 0);
  148.    }
  149.  
  150.    public Dimension preferredLayoutSize(Container var1) {
  151.       return this.minimumLayoutSize(var1);
  152.    }
  153.  
  154.    public void removeLayoutComponent(Component var1) {
  155.    }
  156. }
  157.