Package com.jgoodies.looks.common
Class ExtButtonAreaLayout
- java.lang.Object
-
- javax.swing.plaf.basic.BasicOptionPaneUI.ButtonAreaLayout
-
- com.jgoodies.looks.common.ExtButtonAreaLayout
-
- All Implemented Interfaces:
java.awt.LayoutManager
public final class ExtButtonAreaLayout extends javax.swing.plaf.basic.BasicOptionPaneUI.ButtonAreaLayoutUnlike its superclass, this layout uses a minimum button width that complies with Mac and Windows UI style guides.- Version:
- $Revision: 1.13 $
-
-
Constructor Summary
Constructors Constructor Description ExtButtonAreaLayout(boolean syncAllWidths, int padding)Constructs anExtButtonAreaLayout.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static intgetMinimumButtonWidth()Computes and answers the minimum button width.voidlayoutContainer(java.awt.Container container)java.awt.DimensionminimumLayoutSize(java.awt.Container c)
-
-
-
Method Detail
-
layoutContainer
public void layoutContainer(java.awt.Container container)
- Specified by:
layoutContainerin interfacejava.awt.LayoutManager- Overrides:
layoutContainerin classjavax.swing.plaf.basic.BasicOptionPaneUI.ButtonAreaLayout
-
minimumLayoutSize
public java.awt.Dimension minimumLayoutSize(java.awt.Container c)
- Specified by:
minimumLayoutSizein interfacejava.awt.LayoutManager- Overrides:
minimumLayoutSizein classjavax.swing.plaf.basic.BasicOptionPaneUI.ButtonAreaLayout
-
getMinimumButtonWidth
private static int getMinimumButtonWidth()
Computes and answers the minimum button width. The MS UX guide recommends a minimum width of 50 Dialog units (DLU).This current implementation assumes an 8pt Tahoma and honors resolutions of 96dpi and 120dpi. This leads to a good approximation of the 50dlu for the vast majority of today's target systems. And it sure is an improvement over the superclass' value of 0.
A better implementation would use a conversion from dlu to pixel for the given buttons (that may have different font render contexts if located in different graphics environments in a multi-screen context). The JGoodies Forms provides such a converter and offers a better button layout by means of the
ButtonBarBuilder2class.- Returns:
- the minimum button width
-
-