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.ButtonAreaLayout
Unlike 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 int
getMinimumButtonWidth()
Computes and answers the minimum button width.void
layoutContainer(java.awt.Container container)
java.awt.Dimension
minimumLayoutSize(java.awt.Container c)
-
-
-
Method Detail
-
layoutContainer
public void layoutContainer(java.awt.Container container)
- Specified by:
layoutContainer
in interfacejava.awt.LayoutManager
- Overrides:
layoutContainer
in classjavax.swing.plaf.basic.BasicOptionPaneUI.ButtonAreaLayout
-
minimumLayoutSize
public java.awt.Dimension minimumLayoutSize(java.awt.Container c)
- Specified by:
minimumLayoutSize
in interfacejava.awt.LayoutManager
- Overrides:
minimumLayoutSize
in 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
ButtonBarBuilder2
class.- Returns:
- the minimum button width
-
-