home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / sun / swing / DefaultLayoutStyle.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  3.4 KB  |  200 lines

  1. package sun.swing;
  2.  
  3. import java.awt.Container;
  4. import java.awt.Insets;
  5. import javax.swing.AbstractButton;
  6. import javax.swing.Icon;
  7. import javax.swing.JCheckBox;
  8. import javax.swing.JComponent;
  9. import javax.swing.JLabel;
  10. import javax.swing.JRadioButton;
  11. import javax.swing.LayoutStyle;
  12. import javax.swing.UIManager;
  13. import javax.swing.LayoutStyle.ComponentPlacement;
  14. import javax.swing.border.Border;
  15. import javax.swing.plaf.UIResource;
  16.  
  17. public class DefaultLayoutStyle extends LayoutStyle {
  18.    private static final DefaultLayoutStyle INSTANCE = new DefaultLayoutStyle();
  19.  
  20.    public static LayoutStyle getInstance() {
  21.       return INSTANCE;
  22.    }
  23.  
  24.    public int getPreferredGap(JComponent var1, JComponent var2, LayoutStyle.ComponentPlacement var3, int var4, Container var5) {
  25.       if (var1 != null && var2 != null && var3 != null) {
  26.          if (var3 == ComponentPlacement.INDENT && (var4 == 3 || var4 == 7)) {
  27.             int var6 = this.getIndent(var1, var4);
  28.             if (var6 > 0) {
  29.                return var6;
  30.             }
  31.          }
  32.  
  33.          return var3 == ComponentPlacement.UNRELATED ? 12 : 6;
  34.       } else {
  35.          throw new NullPointerException();
  36.       }
  37.    }
  38.  
  39.    public int getContainerGap(JComponent var1, int var2, Container var3) {
  40.       if (var1 == null) {
  41.          throw new NullPointerException();
  42.       } else {
  43.          this.checkPosition(var2);
  44.          return 6;
  45.       }
  46.    }
  47.  
  48.    protected boolean isLabelAndNonlabel(JComponent var1, JComponent var2, int var3) {
  49.       if (var3 != 3 && var3 != 7) {
  50.          return false;
  51.       } else {
  52.          boolean var4 = var1 instanceof JLabel;
  53.          boolean var5 = var2 instanceof JLabel;
  54.          return (var4 || var5) && var4 != var5;
  55.       }
  56.    }
  57.  
  58.    protected int getButtonGap(JComponent var1, JComponent var2, int var3, int var4) {
  59.       var4 -= this.getButtonGap(var1, var3);
  60.       if (var4 > 0) {
  61.          var4 -= this.getButtonGap(var2, this.flipDirection(var3));
  62.       }
  63.  
  64.       return var4 < 0 ? 0 : var4;
  65.    }
  66.  
  67.    protected int getButtonGap(JComponent var1, int var2, int var3) {
  68.       var3 -= this.getButtonGap(var1, var2);
  69.       return Math.max(var3, 0);
  70.    }
  71.  
  72.    public int getButtonGap(JComponent var1, int var2) {
  73.       String var3 = var1.getUIClassID();
  74.       if ((var3 == "CheckBoxUI" || var3 == "RadioButtonUI") && !((AbstractButton)var1).isBorderPainted()) {
  75.          Border var4 = var1.getBorder();
  76.          if (var4 instanceof UIResource) {
  77.             return this.getInset(var1, var2);
  78.          }
  79.       }
  80.  
  81.       return 0;
  82.    }
  83.  
  84.    private void checkPosition(int var1) {
  85.       if (var1 != 1 && var1 != 5 && var1 != 7 && var1 != 3) {
  86.          throw new IllegalArgumentException();
  87.       }
  88.    }
  89.  
  90.    protected int flipDirection(int var1) {
  91.       switch (var1) {
  92.          case 1:
  93.             return 5;
  94.          case 2:
  95.          case 4:
  96.          case 6:
  97.          default:
  98.             assert false;
  99.  
  100.             return 0;
  101.          case 3:
  102.             return 7;
  103.          case 5:
  104.             return 1;
  105.          case 7:
  106.             return 3;
  107.       }
  108.    }
  109.  
  110.    protected int getIndent(JComponent var1, int var2) {
  111.       String var3 = var1.getUIClassID();
  112.       if (var3 == "CheckBoxUI" || var3 == "RadioButtonUI") {
  113.          AbstractButton var4 = (AbstractButton)var1;
  114.          Insets var5 = var1.getInsets();
  115.          Icon var6 = this.getIcon(var4);
  116.          int var7 = var4.getIconTextGap();
  117.          if (this.isLeftAligned(var4, var2)) {
  118.             return var5.left + var6.getIconWidth() + var7;
  119.          }
  120.  
  121.          if (this.isRightAligned(var4, var2)) {
  122.             return var5.right + var6.getIconWidth() + var7;
  123.          }
  124.       }
  125.  
  126.       return 0;
  127.    }
  128.  
  129.    private Icon getIcon(AbstractButton var1) {
  130.       Icon var2 = var1.getIcon();
  131.       if (var2 != null) {
  132.          return var2;
  133.       } else {
  134.          String var3 = null;
  135.          if (var1 instanceof JCheckBox) {
  136.             var3 = "CheckBox.icon";
  137.          } else if (var1 instanceof JRadioButton) {
  138.             var3 = "RadioButton.icon";
  139.          }
  140.  
  141.          if (var3 != null) {
  142.             Object var4 = UIManager.get(var3);
  143.             if (var4 instanceof Icon) {
  144.                return (Icon)var4;
  145.             }
  146.          }
  147.  
  148.          return null;
  149.       }
  150.    }
  151.  
  152.    private boolean isLeftAligned(AbstractButton var1, int var2) {
  153.       if (var2 != 7) {
  154.          return false;
  155.       } else {
  156.          boolean var3 = var1.getComponentOrientation().isLeftToRight();
  157.          int var4 = var1.getHorizontalAlignment();
  158.          return var3 && (var4 == 2 || var4 == 10) || !var3 && var4 == 11;
  159.       }
  160.    }
  161.  
  162.    private boolean isRightAligned(AbstractButton var1, int var2) {
  163.       if (var2 != 3) {
  164.          return false;
  165.       } else {
  166.          boolean var3 = var1.getComponentOrientation().isLeftToRight();
  167.          int var4 = var1.getHorizontalAlignment();
  168.          return var3 && (var4 == 4 || var4 == 11) || !var3 && var4 == 10;
  169.       }
  170.    }
  171.  
  172.    private int getInset(JComponent var1, int var2) {
  173.       return this.getInset(var1.getInsets(), var2);
  174.    }
  175.  
  176.    private int getInset(Insets var1, int var2) {
  177.       if (var1 == null) {
  178.          return 0;
  179.       } else {
  180.          switch (var2) {
  181.             case 1:
  182.                return var1.top;
  183.             case 2:
  184.             case 4:
  185.             case 6:
  186.             default:
  187.                assert false;
  188.  
  189.                return 0;
  190.             case 3:
  191.                return var1.right;
  192.             case 5:
  193.                return var1.bottom;
  194.             case 7:
  195.                return var1.left;
  196.          }
  197.       }
  198.    }
  199. }
  200.