public final class PlatformDefaults extends Object
Modifier and Type | Field and Description |
---|---|
static int |
BASE_FONT_SIZE
I value indicating that the size of the font for the container of the component
will be used as a base for calculating the logical pixel size.
|
static int |
BASE_REAL_PIXEL
I value indicating that the size of a logical pixel should always be a real pixel
and thus no compensation will be made.
|
static int |
BASE_SCALE_FACTOR
I value indicating that the screen DPI will be used as a base for calculating the
logical pixel size.
|
static int |
GNOME |
static int |
MAC_OSX |
static String |
VISUAL_PADDING_PROPERTY
Property to use in LAF settings and as JComponent client property
to specify the visual padding.
|
static int |
WINDOWS_XP |
Modifier and Type | Method and Description |
---|---|
static String |
getButtonOrder()
Returns the order for the typical buttons in a standard button bar.
|
static int |
getCurrentPlatform()
Returns the platform that the JRE is running on currently.
|
static int |
getDefaultDPI() |
static int |
getDefaultHorizontalUnit()
Returns the current default unit.
|
static boolean |
getDefaultRowAlignmentBaseline()
The default alignment for rows.
|
static int |
getDefaultVerticalUnit()
Returns the current default unit.
|
static int[] |
getDefaultVisualPadding(String key)
Returns the visual bounds for a component type.
|
static UnitValue |
getDialogInsets(int side)
Returns the default dialog inset depending of the current platform.
|
static InCellGapProvider |
getGapProvider()
Returns the current gap provider or
null if none is set and "related" should always be used. |
static BoundSize |
getGridGapX()
Returns the platform recommended inter-cell gap in the horizontal (x) dimension..
|
static BoundSize |
getGridGapY()
Returns the platform recommended inter-cell gap in the vertical (x) dimension..
|
static Float |
getHorizontalScaleFactor()
The forced scale factor that all screen relative units (e.g.
|
static float |
getLabelAlignPercentage()
Returns the percentage used for alignment for labels (0 is left, 50 is center and 100 is right).
|
static int |
getLogicalPixelBase()
What base value should be used to calculate logical pixel sizes.
|
static UnitValue |
getMinimumButtonWidth()
Returns the recommended minimum button width depending on the current set platform.
|
static int |
getModCount()
Returns how many times the defaults has been changed.
|
static UnitValue |
getPanelInsets(int side)
Returns the default panel inset depending of the current platform.
|
static int |
getPlatform()
Returns the current platform
|
static int |
getPlatformDPI(int plaf) |
static UnitValue |
getUnitValueX(String unit)
Returns the unit value associated with the unit.
|
static UnitValue |
getUnitValueY(String unit)
Returns the unit value associated with the unit.
|
static Float |
getVerticalScaleFactor()
The forced scale factor that all screen relative units (e.g.
|
void |
invalidate()
Tells all layout manager instances to revalidate and recalculated everything.
|
static void |
setButtonOrder(String order)
Sets the order for the typical buttons in a standard button bar.
|
static void |
setDefaultDPI(Integer dpi)
Sets the default platform DPI.
|
static void |
setDefaultHorizontalUnit(int unit)
Sets the default unit.
|
static void |
setDefaultRowAlignmentBaseline(boolean b)
The default alignment for rows.
|
static void |
setDefaultVerticalUnit(int unit)
Sets the default unit.
|
static void |
setDefaultVisualPadding(String key,
int[] insets)
Sets the visual bounds for a component type.
|
static void |
setDialogInsets(UnitValue top,
UnitValue left,
UnitValue bottom,
UnitValue right)
Sets the default insets for a dialog.
|
static void |
setGapProvider(InCellGapProvider provider)
Sets the current gap provider or
null if none is set and "related" should always be used. |
static void |
setGridCellGap(UnitValue x,
UnitValue y)
Sets gap between two cells in the grid.
|
static void |
setHorizontalScaleFactor(Float f)
The forced scale factor that all screen relative units (e.g.
|
static void |
setIndentGap(UnitValue x,
UnitValue y)
Sets gap value for components that are "intended".
|
static void |
setLogicalPixelBase(int base)
What base value should be used to calculate logical pixel sizes.
|
static void |
setMinimumButtonWidth(UnitValue width)
Sets the recommended minimum button width.
|
static void |
setPanelInsets(UnitValue top,
UnitValue left,
UnitValue bottom,
UnitValue right)
Sets the default insets for a dialog.
|
static void |
setParagraphGap(UnitValue x,
UnitValue y)
Sets paragraph gap value for components.
|
static void |
setPlatform(int plaf)
Set the defaults to the default for the platform
|
static void |
setRelatedGap(UnitValue x,
UnitValue y)
Sets gap value for components that are "related".
|
static void |
setUnitValue(String[] unitStrings,
UnitValue x,
UnitValue y)
Sets the unit value associated with a unit string.
|
static void |
setUnrelatedGap(UnitValue x,
UnitValue y)
Sets gap value for components that are "unrelated".
|
static void |
setVerticalScaleFactor(Float f)
The forced scale factor that all screen relative units (e.g.
|
public static String VISUAL_PADDING_PROPERTY
public static final int WINDOWS_XP
public static final int MAC_OSX
public static final int GNOME
public static final int BASE_FONT_SIZE
net.miginfocom.layout.UnitValue#LPX
,
net.miginfocom.layout.UnitValue#LPY
,
setLogicalPixelBase(int)
,
Constant Field Valuespublic static final int BASE_SCALE_FACTOR
This is the default value.
net.miginfocom.layout.UnitValue#LPX
,
net.miginfocom.layout.UnitValue#LPY
,
setLogicalPixelBase(int)
,
setVerticalScaleFactor(Float)
,
setHorizontalScaleFactor(Float)
,
Constant Field Valuespublic static final int BASE_REAL_PIXEL
net.miginfocom.layout.UnitValue#LPX
,
net.miginfocom.layout.UnitValue#LPY
,
setLogicalPixelBase(int)
,
Constant Field Valuespublic static int getCurrentPlatform()
MAC_OSX
, WINDOWS_XP
, or GNOME
.public static void setPlatform(int plaf)
plaf
- The platform. PlatformDefaults.WINDOWS_XP
,
PlatformDefaults.MAC_OSX
, or
PlatformDefaults.GNOME
.public static void setDefaultVisualPadding(String key, int[] insets)
key
- The component type. E.g. "TabbedPane.visualPadding" or "ComboBox.editable.isSquare.visualPadding". See source code for list.insets
- Top, left, bottom, right. Always length 4 or null.net.miginfocom.layout.ComponentWrapper#getVisualPadding()
public static int[] getDefaultVisualPadding(String key)
key
- The component type. E.g. "TabbedPane.visualPadding" or "ComboBox.editable.isSquare.visualPadding". See source code for list.net.miginfocom.layout.ComponentWrapper#getVisualPadding()
public static int getPlatformDPI(int plaf)
public static int getPlatform()
PlatformDefaults.WINDOWS
or PlatformDefaults.MAC_OSX
public static int getDefaultDPI()
public static void setDefaultDPI(Integer dpi)
setPlatform(int)
for the different platforms
but it can be tweaked here. For instance SWT on Mac does this.
Note that this is not the actual current DPI, but the base DPI for the toolkit.
dpi
- The base DPI. If null the default DPI is reset to the platform base DPI.public static Float getHorizontalScaleFactor()
null
this will default to a scale that will scale the current screen to the default screen resolution
(72 DPI for Mac and 92 DPI for Windows).null
for default scaling.getHorizontalScaleFactor()
,
ComponentWrapper.getHorizontalScreenDPI()
public static void setHorizontalScaleFactor(Float f)
null
this will default to a scale that will scale the current screen to the default screen resolution
(72 DPI for Mac and 92 DPI for Windows).f
- The forced scale or null
for default scaling.getHorizontalScaleFactor()
,
ComponentWrapper.getHorizontalScreenDPI()
public static Float getVerticalScaleFactor()
null
this will default to a scale that will scale the current screen to the default screen resolution
(72 DPI for Mac and 92 DPI for Windows).null
for default scaling.getHorizontalScaleFactor()
,
ComponentWrapper.getVerticalScreenDPI()
public static void setVerticalScaleFactor(Float f)
null
this will default to a scale that will scale the current screen to the default screen resolution
(72 DPI for Mac and 92 DPI for Windows).f
- The forced scale or null
for default scaling.getHorizontalScaleFactor()
,
ComponentWrapper.getVerticalScreenDPI()
public static int getLogicalPixelBase()
BASE_SCALE_FACTOR
BASE_FONT_SIZE
,
BASE_SCALE_FACTOR
,
BASE_REAL_PIXEL
public static void setLogicalPixelBase(int base)
base
- The new base. Default is BASE_SCALE_FACTOR
BASE_FONT_SIZE
,
BASE_SCALE_FACTOR
,
BASE_REAL_PIXEL
public static void setRelatedGap(UnitValue x, UnitValue y)
x
- The value that will be transformed to pixels. If null
the current value will not change.y
- The value that will be transformed to pixels. If null
the current value will not change.public static void setUnrelatedGap(UnitValue x, UnitValue y)
x
- The value that will be transformed to pixels. If null
the current value will not change.y
- The value that will be transformed to pixels. If null
the current value will not change.public static void setParagraphGap(UnitValue x, UnitValue y)
x
- The value that will be transformed to pixels. If null
the current value will not change.y
- The value that will be transformed to pixels. If null
the current value will not change.public static void setIndentGap(UnitValue x, UnitValue y)
x
- The value that will be transformed to pixels. If null
the current value will not change.y
- The value that will be transformed to pixels. If null
the current value will not change.public static void setGridCellGap(UnitValue x, UnitValue y)
x
- The value that will be transformed to pixels. If null
the current value will not change.y
- The value that will be transformed to pixels. If null
the current value will not change.public static void setMinimumButtonWidth(UnitValue width)
width
- The recommended minimum button width.public static UnitValue getMinimumButtonWidth()
public static UnitValue getUnitValueX(String unit)
unit
- The unit string.null
for unrecognized units.public static UnitValue getUnitValueY(String unit)
unit
- The unit string.null
for unrecognized units.public static void setUnitValue(String[] unitStrings, UnitValue x, UnitValue y)
unitStrings
- The unit strings. E.g. "mu", "myunit". Will be converted to lower case and trimmed. Not null
.x
- The value for the horizontal dimension. If null
the value is not changed.y
- The value for the vertical dimension. Might be same object as for x
. If null
the value is not changed.public static String getButtonOrder()
setButtonOrder(String)
public static void setButtonOrder(String order)
Letter in upper case will get the minimum button width that the getMinimumButtonWidth()
specifies
and letters in lower case will get the width the current look&feel specifies.
Gaps will never be added to before the first component or after the last component. However, '+' (push) will be applied before and after as well, but with a minimum size of 0 if first/last so there will not be a gap before or after.
If gaps are explicitly set on buttons they will never be reduced, but they may be increased.
These are the characters that can be used:
'L'
- Buttons with this style tag will staticall end up on the left end of the bar.
'R'
- Buttons with this style tag will staticall end up on the right end of the bar.
'H'
- A tag for the "help" button that normally is supposed to be on the right.
'E'
- A tag for the "help2" button that normally is supposed to be on the left.
'Y'
- A tag for the "yes" button.
'N'
- A tag for the "no" button.
'X'
- A tag for the "next >" or "forward >" button.
'B'
- A tag for the "< back>" or "< previous" button.
'I'
- A tag for the "finish".
'A'
- A tag for the "apply" button.
'C'
- A tag for the "cancel" or "close" button.
'O'
- A tag for the "ok" or "done" button.
'U'
- All Uncategorized, Other, or "Unknown" buttons. Tag will be "other".
'+'
- A glue push gap that will take as much space as it can and at least an "unrelated" gap. (Platform dependant)
'_'
- (underscore) An "unrelated" gap. (Platform dependant)
Even though the style tags are normally applied to buttons this works with all components.
The normal style for MAC OS X is "L_HE+U+FBI_NYCOA_R"
,
for Windows is "L_E+U+FBI_YNOCAH_R"
, and for GNOME is
"L_HE+UNYACBXIO_R"
.
order
- The new button order for the current platform.public static BoundSize getGridGapX()
public static BoundSize getGridGapY()
public static UnitValue getDialogInsets(int side)
side
- top == 0, left == 1, bottom = 2, right = 3.null
.public static void setDialogInsets(UnitValue top, UnitValue left, UnitValue bottom, UnitValue right)
top
- The top inset. May be null
.left
- The left inset. May be null
.bottom
- The bottom inset. May be null
.right
- The right inset. May be null
.public static UnitValue getPanelInsets(int side)
side
- top == 0, left == 1, bottom = 2, right = 3.null
.public static void setPanelInsets(UnitValue top, UnitValue left, UnitValue bottom, UnitValue right)
top
- The top inset. May be null
.left
- The left inset. May be null
.bottom
- The bottom inset. May be null
.right
- The right inset. May be null
.public static float getLabelAlignPercentage()
public static InCellGapProvider getGapProvider()
null
if none is set and "related" should always be used.null
if none is set and "related" should always be used.public static void setGapProvider(InCellGapProvider provider)
null
if none is set and "related" should always be used.provider
- The current gap provider or null
if none is set and "related" should always be used.public static int getModCount()
public void invalidate()
public static int getDefaultHorizontalUnit()
UnitValue.PIXEL
,
UnitValue.LPX
public static void setDefaultHorizontalUnit(int unit)
unit
- The new default unit.UnitValue.PIXEL
,
UnitValue.LPX
public static int getDefaultVerticalUnit()
UnitValue.PIXEL
,
UnitValue.LPY
public static void setDefaultVerticalUnit(int unit)
unit
- The new default unit.UnitValue.PIXEL
,
UnitValue.LPY
public static boolean getDefaultRowAlignmentBaseline()
false
but now it is
true
.true
.public static void setDefaultRowAlignmentBaseline(boolean b)
false
but now it is
true
.b
- The new value. Default is true
from v3.5.