public final class PlatformDefaults

  1. Object
  2. PlatformDefaults
Currently handles Windows, Mac OS X, and GNOME spacing.

Fields

public static final int WINDOWS_XP = 0
public static final int MAC_OSX = 1
public static final int GNOME = 2
public static final int BASE_FONT_SIZE = 100I 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.
public static final int BASE_SCALE_FACTOR = 101I value indicating that the screen DPI will be used as a base for calculating the logical pixel size.
public static final int BASE_REAL_PIXEL = 102I value indicating that the size of a logical pixel should always be a real pixel and thus no compensation will be made.
public static final String VISUAL_PADDING_PROPERTY = "visualPadding"Property to use in LAF settings and as JComponent client property to specify the visual padding.

Methods

public static int getCurrentPlatform()Returns the platform that the JRE is running on currently.
public static void setDefaultVisualPadding(String key, int[] insets)Sets the visual bounds for a component type.
public static int[] getDefaultVisualPadding(String key)Returns the visual bounds for a component type.
public static int getPlatformDPI(int plaf)
public static int getPlatform()Returns the current platform
public static void setPlatform(int plaf)Set the defaults to the default for the platform
public static int getDefaultDPI()
public static void setDefaultDPI(Integer dpi)Sets the default platform DPI.
public static Float getHorizontalScaleFactor()The forced scale factor that all screen relative units (e.g. millimeters, inches and logical pixels) will be multiplied with.
public static void setHorizontalScaleFactor(Float f)The forced scale factor that all screen relative units (e.g. millimeters, inches and logical pixels) will be multiplied with.
public static Float getVerticalScaleFactor()The forced scale factor that all screen relative units (e.g. millimeters, inches and logical pixels) will be multiplied with.
public static void setVerticalScaleFactor(Float f)The forced scale factor that all screen relative units (e.g. millimeters, inches and logical pixels) will be multiplied with.
public static int getLogicalPixelBase()What base value should be used to calculate logical pixel sizes.
public static void setLogicalPixelBase(int base)What base value should be used to calculate logical pixel sizes.
public static void setRelatedGap(UnitValue x, UnitValue y)Sets gap value for components that are “related”.
public static void setUnrelatedGap(UnitValue x, UnitValue y)Sets gap value for components that are “unrelated”.
public static void setParagraphGap(UnitValue x, UnitValue y)Sets paragraph gap value for components.
public static void setIndentGap(UnitValue x, UnitValue y)Sets gap value for components that are “intended”.
public static void setGridCellGap(UnitValue x, UnitValue y)Sets gap between two cells in the grid.
public static UnitValue getMinimumButtonWidth()Returns the recommended minimum button width depending on the current set platform.
public static void setMinimumButtonWidth(UnitValue width)Sets the recommended minimum button width.
public static UnitValue getUnitValueX(String unit)Returns the unit value associated with the unit.
public static UnitValue getUnitValueY(String unit)Returns the unit value associated with the unit.
public static void setUnitValue(String[] unitStrings, UnitValue x, UnitValue y)Sets the unit value associated with a unit string.
public static String getButtonOrder()Returns the order for the typical buttons in a standard button bar.
public static void setButtonOrder(String order)Sets the order for the typical buttons in a standard button bar.
public static BoundSize getGridGapX()Returns the platform recommended inter-cell gap in the horizontal (x) dimension..
public static BoundSize getGridGapY()Returns the platform recommended inter-cell gap in the vertical (x) dimension..
public static UnitValue getDialogInsets(int side)Returns the default dialog inset depending of the current platform.
public static void setDialogInsets(UnitValue top, UnitValue left, UnitValue bottom, UnitValue right)Sets the default insets for a dialog.
public static UnitValue getPanelInsets(int side)Returns the default panel inset depending of the current platform.
public static void setPanelInsets(UnitValue top, UnitValue left, UnitValue bottom, UnitValue right)Sets the default insets for a dialog.
public static float getLabelAlignPercentage()Returns the percentage used for alignment for labels (0 is left, 50 is center and 100 is right).
public static InCellGapProvider getGapProvider()Returns the current gap provider or null if none is set and “related” should always be used.
public static void setGapProvider(InCellGapProvider provider)Sets the current gap provider or null if none is set and “related” should always be used.
public static int getModCount()Returns how many times the defaults has been changed.
public static int getDefaultHorizontalUnit()Returns the current default unit.
public static void setDefaultHorizontalUnit(int unit)Sets the default unit.
public static int getDefaultVerticalUnit()Returns the current default unit.
public static void setDefaultVerticalUnit(int unit)Sets the default unit.
public static boolean getDefaultRowAlignmentBaseline()The default alignment for rows.
public static void setDefaultRowAlignmentBaseline(boolean b)The default alignment for rows.
public void invalidate()Tells all layout manager instances to revalidate and recalculated everything.

Inherited methods

Field details

WINDOWS_XP

public static final int WINDOWS_XP = 0

MAC_OSX

public static final int MAC_OSX = 1

GNOME

public static final int GNOME = 2

BASE_FONT_SIZE

public static final int BASE_FONT_SIZE = 100
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. This is much as how Windows calculated DLU (dialog units).

See also

BASE_SCALE_FACTOR

public static final int BASE_SCALE_FACTOR = 101

I 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_PIXEL = 102
I value indicating that the size of a logical pixel should always be a real pixel and thus no compensation will be made.

See also

VISUAL_PADDING_PROPERTY

public static final String VISUAL_PADDING_PROPERTY = "visualPadding"
Property to use in LAF settings and as JComponent client property to specify the visual padding.

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, or #GNOME.

setDefaultVisualPadding

public static void setDefaultVisualPadding(String key, int[] insets)
Sets the visual bounds for a component type.

Parameters

key String
The component type. E.g. “TabbedPane.visualPadding” or “ComboBox.editable.isSquare.visualPadding”. See source code for list.
insets int[]
Top, left, bottom, right. Always length 4 or null.

See also

  • net.miginfocom.layout.ComponentWrapper#getVisualPadding()

getDefaultVisualPadding

public static int[] getDefaultVisualPadding(String key)
Returns the visual bounds for a component type.

Parameters

key String
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

  • net.miginfocom.layout.ComponentWrapper#getVisualPadding()

getPlatformDPI

public static int getPlatformDPI(int plaf)

getPlatform

public static int getPlatform()
Returns the current platform

Returns

PlatformDefaults.WINDOWS or PlatformDefaults.MAC_OSX

setPlatform

public static void setPlatform(int plaf)
Set the defaults to the default for the platform

Parameters

plaf int
The platform. PlatformDefaults.WINDOWS_XP, PlatformDefaults.MAC_OSX, or PlatformDefaults.GNOME.

getDefaultDPI

public static int getDefaultDPI()

setDefaultDPI

public static void setDefaultDPI(Integer dpi)

Sets the default platform DPI. Normally this is set in the #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.

Parameters

dpi Integer
The base DPI. If null the default DPI is reset to the platform base DPI.

getHorizontalScaleFactor

public static Float getHorizontalScaleFactor()
The forced scale factor that all screen relative units (e.g. millimeters, inches and logical pixels) will be multiplied with. If 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).

Returns

The forced scale or null for default scaling.

setHorizontalScaleFactor

public static void setHorizontalScaleFactor(Float f)
The forced scale factor that all screen relative units (e.g. millimeters, inches and logical pixels) will be multiplied with. If 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).

Parameters

f Float
The forced scale or null for default scaling.

getVerticalScaleFactor

public static Float getVerticalScaleFactor()
The forced scale factor that all screen relative units (e.g. millimeters, inches and logical pixels) will be multiplied with. If 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).

Returns

The forced scale or null for default scaling.

setVerticalScaleFactor

public static void setVerticalScaleFactor(Float f)
The forced scale factor that all screen relative units (e.g. millimeters, inches and logical pixels) will be multiplied with. If 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).

Parameters

f Float
The forced scale or null for default scaling.

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

setLogicalPixelBase

public static void setLogicalPixelBase(int base)
What base value should be used to calculate logical pixel sizes.

Parameters

base int
The new base. Default is #BASE_SCALE_FACTOR

setRelatedGap

public static void setRelatedGap(UnitValue x, UnitValue y)
Sets gap value for components that are “related”.

Parameters

x UnitValue
The value that will be transformed to pixels. If null the current value will not change.
y UnitValue
The value that will be transformed to pixels. If null the current value will not change.

setUnrelatedGap

public static void setUnrelatedGap(UnitValue x, UnitValue y)
Sets gap value for components that are “unrelated”.

Parameters

x UnitValue
The value that will be transformed to pixels. If null the current value will not change.
y UnitValue
The value that will be transformed to pixels. If null the current value will not change.

setParagraphGap

public static void setParagraphGap(UnitValue x, UnitValue y)
Sets paragraph gap value for components.

Parameters

x UnitValue
The value that will be transformed to pixels. If null the current value will not change.
y UnitValue
The value that will be transformed to pixels. If null the current value will not change.

setIndentGap

public static void setIndentGap(UnitValue x, UnitValue y)
Sets gap value for components that are “intended”.

Parameters

x UnitValue
The value that will be transformed to pixels. If null the current value will not change.
y UnitValue
The value that will be transformed to pixels. If null the current value will not change.

setGridCellGap

public static void setGridCellGap(UnitValue x, UnitValue y)
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 UnitValue
The value that will be transformed to pixels. If null the current value will not change.
y UnitValue
The value that will be transformed to pixels. If null the current value will not change.

getMinimumButtonWidth

public static UnitValue 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.

setMinimumButtonWidth

public static void setMinimumButtonWidth(UnitValue width)
Sets the recommended minimum button width.

Parameters

width UnitValue
The recommended minimum button width.

getUnitValueX

public static UnitValue getUnitValueX(String unit)
Returns the unit value associated with the unit. (E.i. “related” or “indent”). Must be lower case.

Parameters

unit String
The unit string.

Returns

The unit value associated with the unit. null for unrecognized units.

getUnitValueY

public static UnitValue getUnitValueY(String unit)
Returns the unit value associated with the unit. (E.i. “related” or “indent”). Must be lower case.

Parameters

unit String
The unit string.

Returns

The unit value associated with the unit. null for unrecognized units.

setUnitValue

public static void setUnitValue(String[] unitStrings, UnitValue x, UnitValue y)
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 String[]
The unit strings. E.g. “mu”, “myunit”. Will be converted to lower case and trimmed. Not null.
x UnitValue
The value for the horizontal dimension. If null the value is not changed.
y UnitValue
The value for the vertical dimension. Might be same object as for x. If null the value is not changed.

getButtonOrder

public static String getButtonOrder()
Returns the order for the typical buttons in a standard button bar. It is one letter per button type.

Returns

The button order.

setButtonOrder

public static void setButtonOrder(String order)

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 String
The new button order for the current platform.

getGridGapX

public static BoundSize 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

public static BoundSize 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

public static UnitValue getDialogInsets(int side)
Returns the default dialog inset depending of the current platform.

Parameters

side int
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 UnitValue
The top inset. May be null.
left UnitValue
The left inset. May be null.
bottom UnitValue
The bottom inset. May be null.
right UnitValue
The right inset. May be null.

getPanelInsets

public static UnitValue getPanelInsets(int side)
Returns the default panel inset depending of the current platform.

Parameters

side int
top == 0, left == 1, bottom = 2, right = 3.

Returns

The inset. Never null.

setPanelInsets

public static void setPanelInsets(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 UnitValue
The top inset. May be null.
left UnitValue
The left inset. May be null.
bottom UnitValue
The bottom inset. May be null.
right UnitValue
The right inset. May be null.

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

public static InCellGapProvider getGapProvider()
Returns the current gap provider or null 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

public static void setGapProvider(InCellGapProvider provider)
Sets the current gap provider or null if none is set and “related” should always be used.

Parameters

provider InCellGapProvider
The current gap provider or null 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.

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.

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 int
The new default unit.

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.

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 int
The new default unit.

getDefaultRowAlignmentBaseline

public static boolean getDefaultRowAlignmentBaseline()
The default alignment for rows. Pre v3.5 this was false but now it is true.

Returns

The current value. Default is true.

setDefaultRowAlignmentBaseline

public static void setDefaultRowAlignmentBaseline(boolean b)
The default alignment for rows. Pre v3.5 this was false but now it is true.

Parameters

b boolean
The new value. Default is true from v3.5.

invalidate

public void invalidate()
Tells all layout manager instances to revalidate and recalculated everything.