Class PlatformDefaults
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
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 final int
I value indicating that the size of a logical pixel should always be a real pixel and thus no compensation will be made.static final int
I value indicating that the screen DPI will be used as a base for calculating the logical pixel size.static final int
static final int
static String
Property to use in LAF settings and as JComponent client property to specify the visual padding.static final int
-
Method Summary
Modifier and TypeMethodDescriptionstatic String
Returns the order for the typical buttons in a standard button bar.static int
Returns the platform that the JRE is running on currently.static int
static int
Returns the current default unit.static boolean
The default alignment for rows.static int
Returns the current default unit.static int[]
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
Returns the current gap provider ornull
if none is set and "related" should always be used.static BoundSize
Returns the platform recommended inter-cell gap in the horizontal (x) dimension..static BoundSize
Returns the platform recommended inter-cell gap in the vertical (x) dimension..static Float
The forced scale factor that all screen relative units (e.g.static float
Returns the percentage used for alignment for labels (0 is left, 50 is center and 100 is right).static int
What base value should be used to calculate logical pixel sizes.static UnitValue
Returns the recommended minimum button width depending on the current set platform.static int
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
Returns the current platformstatic 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
The forced scale factor that all screen relative units (e.g.void
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 ornull
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
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
Sets paragraph gap value for components.static void
setPlatform
(int plaf) Set the defaults to the default for the platformstatic 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
Sets gap value for components that are "unrelated".static void
The forced scale factor that all screen relative units (e.g.
-
Field Details
-
VISUAL_PADDING_PROPERTY
Property to use in LAF settings and as JComponent client property to specify the visual padding. -
WINDOWS_XP
public static final int WINDOWS_XP- See Also:
-
MAC_OSX
public static final int MAC_OSX- See Also:
-
GNOME
public static final int GNOME- See Also:
-
BASE_FONT_SIZE
public static final int BASE_FONT_SIZEI 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. This is much as how Windows calculated DLU (dialog units).- See Also:
-
BASE_SCALE_FACTOR
public static final int BASE_SCALE_FACTORI value indicating that the screen DPI will be used as a base for calculating the logical pixel size.This is the default value.
- See Also:
-
BASE_REAL_PIXEL
public static final int BASE_REAL_PIXELI value indicating that the size of a logical pixel should always be a real pixel and thus no compensation will be made.- See Also:
-
-
Method Details
-
getCurrentPlatform
public static int getCurrentPlatform()Returns the platform that the JRE is running on currently.- Returns:
- The platform that the JRE is running on currently. E.g.
MAC_OSX
,WINDOWS_XP
, orGNOME
.
-
setPlatform
public static void setPlatform(int plaf) Set the defaults to the default for the platform- Parameters:
plaf
- The platform.PlatformDefaults.WINDOWS_XP
,PlatformDefaults.MAC_OSX
, orPlatformDefaults.GNOME
.
-
setDefaultVisualPadding
Sets the visual bounds for a component type.- Parameters:
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.- See Also:
-
getDefaultVisualPadding
Returns the visual bounds for a component type.- Parameters:
key
- The component type. E.g. "TabbedPane.visualPadding" or "ComboBox.editable.isSquare.visualPadding". See source code for list.- Returns:
- insets Top, left, bottom, right. Always length 4 or null. Live object, MUST NOT BE CHANGED!.
- See Also:
-
getPlatformDPI
public static int getPlatformDPI(int plaf) -
getPlatform
public static int getPlatform()Returns the current platform- Returns:
PlatformDefaults.WINDOWS
orPlatformDefaults.MAC_OSX
-
getDefaultDPI
public static int getDefaultDPI() -
setDefaultDPI
Sets the default platform DPI. Normally this is set in thesetPlatform(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.
- Parameters:
dpi
- The base DPI. If null the default DPI is reset to the platform base DPI.
-
getHorizontalScaleFactor
The forced scale factor that all screen relative units (e.g. millimeters, inches and logical pixels) will be multiplied with. Ifnull
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).- Returns:
- The forced scale or
null
for default scaling. - See Also:
-
setHorizontalScaleFactor
The forced scale factor that all screen relative units (e.g. millimeters, inches and logical pixels) will be multiplied with. Ifnull
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).- Parameters:
f
- The forced scale ornull
for default scaling.- See Also:
-
getVerticalScaleFactor
The forced scale factor that all screen relative units (e.g. millimeters, inches and logical pixels) will be multiplied with. Ifnull
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).- Returns:
- The forced scale or
null
for default scaling. - See Also:
-
setVerticalScaleFactor
The forced scale factor that all screen relative units (e.g. millimeters, inches and logical pixels) will be multiplied with. Ifnull
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).- Parameters:
f
- The forced scale ornull
for default scaling.- See Also:
-
getLogicalPixelBase
public static int getLogicalPixelBase()What base value should be used to calculate logical pixel sizes.- Returns:
- The current base. Default is
BASE_SCALE_FACTOR
- See Also:
-
setLogicalPixelBase
public static void setLogicalPixelBase(int base) What base value should be used to calculate logical pixel sizes.- Parameters:
base
- The new base. Default isBASE_SCALE_FACTOR
- See Also:
-
setRelatedGap
Sets gap value for components that are "related".- Parameters:
x
- The value that will be transformed to pixels. Ifnull
the current value will not change.y
- The value that will be transformed to pixels. Ifnull
the current value will not change.
-
setParagraphGap
Sets paragraph gap value for components.- Parameters:
x
- The value that will be transformed to pixels. Ifnull
the current value will not change.y
- The value that will be transformed to pixels. Ifnull
the current value will not change.
-
setIndentGap
Sets gap value for components that are "intended".- Parameters:
x
- The value that will be transformed to pixels. Ifnull
the current value will not change.y
- The value that will be transformed to pixels. Ifnull
the current value will not change.
-
setGridCellGap
Sets gap between two cells in the grid. Note that this is not a gap between component IN a cell, that has to be set on the component constraints. The value will be the min and preferred size of the gap.- Parameters:
x
- The value that will be transformed to pixels. Ifnull
the current value will not change.y
- The value that will be transformed to pixels. Ifnull
the current value will not change.
-
setMinimumButtonWidth
Sets the recommended minimum button width.- Parameters:
width
- The recommended minimum button width.
-
getMinimumButtonWidth
Returns the recommended minimum button width depending on the current set platform.- Returns:
- The recommended minimum button width depending on the current set platform.
-
getUnitValueX
Returns the unit value associated with the unit. (E.i. "related" or "indent"). Must be lower case.- Parameters:
unit
- The unit string.- Returns:
- The unit value associated with the unit.
null
for unrecognized units.
-
getUnitValueY
Returns the unit value associated with the unit. (E.i. "related" or "indent"). Must be lower case.- Parameters:
unit
- The unit string.- Returns:
- The unit value associated with the unit.
null
for unrecognized units.
-
setUnitValue
Sets the unit value associated with a unit string. This may be used to store values for new unit strings or modify old. Note that if a built in unit (such as "related") is modified all versions of it must be set (I.e. "r", "rel" and "related"). The build in values will be reset to the default ones if the platform is re-set.- Parameters:
unitStrings
- The unit strings. E.g. "mu", "myunit". Will be converted to lower case and trimmed. Notnull
.x
- The value for the horizontal dimension. Ifnull
the value is not changed.y
- The value for the vertical dimension. Might be same object as forx
. Ifnull
the value is not changed.
-
getButtonOrder
Returns the order for the typical buttons in a standard button bar. It is one letter per button type.- Returns:
- The button order.
- See Also:
-
setButtonOrder
Sets the order for the typical buttons in a standard button bar. It is one letter per button type.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"
.- Parameters:
order
- The new button order for the current platform.
-
getGridGapX
Returns the platform recommended inter-cell gap in the horizontal (x) dimension..- Returns:
- The platform recommended inter-cell gap in the horizontal (x) dimension..
-
getGridGapY
Returns the platform recommended inter-cell gap in the vertical (x) dimension..- Returns:
- The platform recommended inter-cell gap in the vertical (x) dimension..
-
getDialogInsets
Returns the default dialog inset depending of the current platform.- Parameters:
side
- top == 0, left == 1, bottom = 2, right = 3.- Returns:
- The inset. Never
null
.
-
setDialogInsets
public static void setDialogInsets(UnitValue top, UnitValue left, UnitValue bottom, UnitValue right) Sets the default insets for a dialog. Values that are null will not be changed.- Parameters:
top
- The top inset. May benull
.left
- The left inset. May benull
.bottom
- The bottom inset. May benull
.right
- The right inset. May benull
.
-
getPanelInsets
Returns the default panel inset depending of the current platform.- Parameters:
side
- top == 0, left == 1, bottom = 2, right = 3.- Returns:
- The inset. Never
null
.
-
setPanelInsets
Sets the default insets for a dialog. Values that are null will not be changed.- Parameters:
top
- The top inset. May benull
.left
- The left inset. May benull
.bottom
- The bottom inset. May benull
.right
- The right inset. May benull
.
-
getLabelAlignPercentage
public static float getLabelAlignPercentage()Returns the percentage used for alignment for labels (0 is left, 50 is center and 100 is right).- Returns:
- The percentage used for alignment for labels
-
getGapProvider
Returns the current gap provider ornull
if none is set and "related" should always be used.- Returns:
- The current gap provider or
null
if none is set and "related" should always be used.
-
setGapProvider
Sets the current gap provider ornull
if none is set and "related" should always be used.- Parameters:
provider
- The current gap provider ornull
if none is set and "related" should always be used.
-
getModCount
public static int getModCount()Returns how many times the defaults has been changed. This can be used as a light weight check to see if layout caches needs to be refreshed.- Returns:
- How many times the defaults has been changed.
-
invalidate
public void invalidate()Tells all layout manager instances to revalidate and recalculated everything. -
getDefaultHorizontalUnit
public static int getDefaultHorizontalUnit()Returns the current default unit. The default unit is the unit used if no unit is set. E.g. "width 10".- Returns:
- The current default unit.
- See Also:
-
setDefaultHorizontalUnit
public static void setDefaultHorizontalUnit(int unit) Sets the default unit. The default unit is the unit used if no unit is set. E.g. "width 10".- Parameters:
unit
- The new default unit.- See Also:
-
getDefaultVerticalUnit
public static int getDefaultVerticalUnit()Returns the current default unit. The default unit is the unit used if no unit is set. E.g. "width 10".- Returns:
- The current default unit.
- See Also:
-
setDefaultVerticalUnit
public static void setDefaultVerticalUnit(int unit) Sets the default unit. The default unit is the unit used if no unit is set. E.g. "width 10".- Parameters:
unit
- The new default unit.- See Also:
-
getDefaultRowAlignmentBaseline
public static boolean getDefaultRowAlignmentBaseline()The default alignment for rows. Pre v3.5 this wasfalse
but now it istrue
.- Returns:
- The current value. Default is
true
. - Since:
- 3.5
-
setDefaultRowAlignmentBaseline
public static void setDefaultRowAlignmentBaseline(boolean b) The default alignment for rows. Pre v3.5 this wasfalse
but now it istrue
.- Parameters:
b
- The new value. Default istrue
from v3.5.- Since:
- 3.5
-