Customize

The tables below contain useful UI-defaults which can be set by the UIManager for customizing a
Synthetica look and feel programmatically. Use UIManager#put(Object key, Object value)
for changing values.

The example below disables Synthetica's window decoration. Another more powerful, but more complex, method for
customizing is the use of separate configuration files - see also Customization FAQ 1.

Enable/disable window opacity on Java 6u10 and above. A value of 'false' disables window opacity which means that the
window corner background which is visible for non-rectangular windows disappear. Furthermore the shadow for popupMenus
makes use of real translucent window. Some themes like SyntheticaSimple2D support translucent titlePanes if opacity is disabled.
The property is ignored on JRE's below 6u10. Note: It is recommended to activate this feature only if your graphics hardware
acceleration is supported by the JVM - a value of 'false' can affect application performance. Default value is true
which means the translucency feature is disabled. Since V2.8.0.

Specifies the used alpha value (percentage) for disabled icons. Default value is 50. Since V2.9.0.

Synthetica.window.shape

idref

Defines the window shape on Java 6u10 and above. Supported values: "ROUND_RECT". The property is ignored on JRE's below 6u10.
Note: Compared to the opacity property the shape property doesn't affect application performance but the shape isn't anti-aliased.
There's no default value which means if not specified a recangle shape is used. Since V2.9.0.

Enable/disable content pane opacity. The content pane opacity is affected by the window opacity. Swing disables content pane
opacity in case that windows opacity will be disabled. To keep opacity for content Synthetica introduces this property. Default value is true.
See also property "Synthetica.window.opaque". Since V2.9.0.

Synthetica.font.resource

idref

Path to TTF file which will be used to create a general default font. Enables you to deploy your LAF including font resource. Optional value. Since V2.10.0.

Synthetica.showMnemonicsOnAltKeyOnly

Boolean

If true menu mnemonics on Windows will be displayed only when the Alt key is pressed - false means mnemonics always appear.
Default is true. Since V2.11.0.

Synthetica.forceShowMnemonicsOnAltKeyOnly

Boolean

If true menu mnemonics will be displayed only when the Alt key is pressed - independent from OS.
Default is false. Since V2.11.0.

Synthetica.styleNameSupportEnabled

Boolean

Enables/disables style name support. When enabled, a style name can be applied by the ClientProperty "Synthetica.style".
By default style ame support is enabled. Requires Java 6u10 or above. Since V2.14.0.

ArrowButton UI-Properties

Key

Type

Description

Synthetica.arrowButton.animation.cycles

Integer

Number of animation cycles. Optional value. Default value is 1. Since V2.4.0.

Synthetica.arrowButton.animation.delay

Integer

Delay between images when mouse is moved out of component. Optional value. Default value is 50. Since V2.4.0.

Synthetica.arrowButton.animation.type

Integer

Animation type when mouse is moved out of component. Optional value. Default value is 2 (HOVER_OUT). Since V2.4.0.

Synthetica.arrowButton.hover.animation.cycles

Integer

Number of animation cycles when mouse is moved over the component. Optional value. Default value is 1. Since V2.4.0.

Synthetica.arrowButton.hover.animation.delay

Integer

Delay between images when mouse is moved over the component. Optional value. Default value is 50. Since V2.4.0.

Synthetica.arrowButton.hover.animation.type

Integer

Animation type when mouse is moved over the component. Optional value. Default value is 1 (HOVER_IN). Since V2.4.0.

CellRenderer UI-Properties

Enable/disabled general background painting support for cell renderers. Optional value - default is false. Since V2.10.0.

Synthetica.cellRenderer.respectFocus

Boolean

True means the cell renderer selection background appears only when the component has the focus. Optional value - default is false. Since V2.10.0.

Synthetica.cellRenderer.hoverSupport.enabled

Boolean

True means the client property "Synthetica.hoverIndex" of the related component can be used to get the currently hovered row index - useful for custom renderers with hover support. Works for JTable and JList only. Optional value, default is false. Since V2.15.0.

Dialog UI-Properties

Key

Type

Description

Synthetica.dialog.icon.enabled

Boolean

Optional value to enable icon painting and system menu for JDialogs. Default is false. Since V2.4.0.
The optional client property "Synthetica.dialog.iconImage" can be applied to the dialog rootPane to specify an
image which is different from the owner frame. Example: JDialog#getRootPane.putClientProperty("Synthetica.dialog.iconImage", myImage);

EditorPane UI-Properties

Key

Type

Description

Synthetica.editorPane.border.opaqueBackground

Boolean

Obsolete since V2.8.0. Optional hint to paint the background of the specified border image. Default is false. Since V2.2.0.

Synthetica.editorPane.border.disabled.opaqueBackground

Boolean

Obsolete since V2.8.0. Optional hint to paint the background of the specified border image (disabled state). Default is false. Since V2.2.0.

Enable center aligned title text. Optional value, default is "false" which means title is left aligned. Since V2.5.0.

Synthetica.internalFrameTitlePane.background.light

idref

An optional value for a light image which will be painted on top of the regular background image (inactive state). The image will be stretched horizontal. The verticalTiled and insets settings for the background image will be used. Since V2.2.0.

Synthetica.internalFrameTitlePane.background.light.selected

idref

An optional value for a light image which will be painted on top of the regular background image (active state). The image will be stretched horizontal. The verticalTiled and insets settings for the background image will be used. Since V2.2.0.

An optional value for a light image which will be painted on top of the regular background image (active state). The image will be stretched horizontal. The verticalTiled and insets settings for the background image will be used. Since V2.1.0.

Synthetica.menuBar.background.light.inactive

idref

An optional value for a light image which will be painted on top of the regular background image (inactive state). The image will be stretched horizontal. The verticalTiled and insets settings for the background image will be used. Since V2.1.0.

Synthetica.menuBar.background.horizontalTiled

Boolean

Enable/disable stretching of the menuBar background image. Default value is false which means horizontal stretching is enabled. Since V2.1.0.

Synthetica.menuBar.background.verticalTiled

Boolean

Enable/disable stretching of the menuBar backkground image. Default value is false which means vertical stretching is enabled. Since V2.1.0.

MenuItem UI-Properties

Key

Type

Description

Synthetica.menuItem.icon.width

Integer

Optional value for the icon width of menuItems. Default value is 16. Since V2.2.0. Deprecated and no longer needed since V2.12.0.

Synthetica.menuItem.checkRadioIcon.width

Integer

Optional value for the (check/radio)icon width of checkBox and radioButton menuItems. Default value is 14. Since V2.2.0. Deprecated and no longer needed since V2.12.0.

Synthetica.menuItem.animation.cycles

Integer

Number of animation cycles when mouse is moved out of component. Optional value. Default value is 1. Since V2.2.0.

Synthetica.menuItem.animation.delay

Integer

Delay between images when mouse is moved out of component. Optional value. Default value is 50. Since V2.2.0.

Synthetica.menuItem.animation.type

Integer

Animation type when mouse is moved out of component. Optional value. Default value is 2 (HOVER_OUT). Since V2.2.0.

Synthetica.menuItem.hover.animation.cycles

Integer

Number of animation cycles when mouse is moved over the component. Optional value. Default value is 1. Since V2.2.0.

Synthetica.menuItem.hover.animation.delay

Integer

Delay between images when mouse is moved over the component. Optional value. Default value is 50. Since V2.2.0.

Synthetica.menuItem.hover.animation.type

Integer

Animation type when mouse is moved over the component. Optional value. Default value is 1 (HOVER_IN). Since V2.2.0.

Synthetica.menuItem.useSynthUIDelegates

Boolean

Use synth instead of Synthetica UI-delegates for menu and menu items. Optional value. Default value is false. Since V2.12.0.

Imagepath to horizontal progressBar image. Indeterminate is optional and available since V2.10

Synthetica.progressBar.y[.indeterminate]

idref

Imagepath to vertical progressBar image. Indeterminate is optional and available since V2.10

Synthetica.progressBar.respectMinimumBarImageSize

Boolean

The minimum visual size depends on the defined bar image insets. For non-rectangular progressbars this means that the bar isn't painted for very small values. If you want a progressbar to be painted especially for smaller values it's recommended to set this property to 'false'. Optional value - default is true. Since V2.12.0.

Synthetica.progressBar.textFillColor

idref

Color used to partially fill text when the bar appears in the background. Optional value. Since V3.1.0/V2.31.0.

An optional value for a light image which will be painted on top of the regular background image (inactive state). The image will be stretched horizontal. The verticalTiled and insets settings for the background image will be used. Since V2.1.0.

Synthetica.rootPane.titlePane.background.light.selected

idref

An optional value for a light image which will be painted on top of the regular background image (active state). The image will be stretched horizontal. The verticalTiled and insets settings for the background image will be used. Since V2.1.0.

Defines the layout style of the tile panel. "INLINEMENU" menu means the menu will be displayed as part of the title pane. The UI-property "Synthetica.rootPane.titlePane.showMenuBarInTitlePane" has to be set to true. Optional value. Default is REGULAR. Since V2.19.0.

Synthetica.rootPane.paintTitlePaneInBorder

Boolean

True means the title pane background is painted till the border edges. Optional value. Default is False. Since V2.19.0.

Synthetica.rootPane.minimumWindowSize

Dimension

By default a window can't be resized smaller than the minimum size of the child components. This property allows you to override the minimum size with a predefined dimension. Optional value. Default is null. Since V2.8.0.

Synthetica.rootPane.border.respectFill

Boolean

Hint to paint the center of the border image. Optional value useful for translucent windows. Default is false. Since V2.9.0.

Synthetica.rootPane.resizeInsets

Insets

Insets used to specify the resize area. Optional value. Default is the root pane border size. Since V2.12.0.

A single line of text which will be displayed at the bottom of each window - value 'null' means not visible. Optional value - default is null. Since V2.18.0. Note: The feature does not work with the evaluation copy or when the native frame decoration is enabled.

Synthetica.rootPane.borderText.foreground

Color

Foreground color used to display the rootPane text. Optional value - default is the label foreground color. Since V2.18.0.

Synthetica.rootPane.borderText.background

Color

Background color used for the rootPane text. Optional value - default is the panel background color. Since V2.18.0.

Synthetica.rootPane.dialogStyle.enabled

Boolean

Applies the default style name to dialogs and "[name].contentPane" to dialog content panels. Synthetica style name support has to be enabled. Optional value - default false. Since V2.18.0.

Synthetica.rootPane.dialogStyle.defaultName

String

The default style name used for dialog styling. "Synthetica.rootPane.dialogStyle.enabled" has to be set to "true". Optional value - default value is "Dialog". Since V2.19.0.

Synthetica.rootPane.frameStyle.enabled

Boolean

Applies the default style name to frames and "[name].contentPane" to frame content panels. Synthetica style name support has to be enabled. Optional value - default false. Since V2.19.0.

Synthetica.rootPane.frameStyle.defaultName

String

The default style name used for frame styling. "Synthetica.rootPane.frameStyle.enabled" has to be set to "true". Optional value - default value is "Frame". Since V2.19.0.

Synthetica allows you to resize a window below the minimum size by pressing the CTRL-key on resize. The property can be used to disable this feature. Optional value - default is true. Since V2.20.0. See also Synthetica.rootPane.minimumWindowSize.

Synthetica.rootPane.snap.enabled

Boolean

Allows you to enable/disable the window snap feature. Optional value - default is true. Since V2.20.0.

Synthetica.rootPane.restoreByDragFromMaximized.enabled

Boolean

Enable/disable restoring a maximized window by dragging the title pane. Optional value - default is true. Since V2.20.1.

Synthetica.rootPane.fullScreenOnMaximizeMacOnly.enabled

Boolean

Enable/disable full screen on maximize for the non-native window decoration on Mac OSX. Optional value - default is false. Since V2.30.0.

ScrollBarTreck UI-Properties

Enables hover support for scrollBarTracks. Optional value. Default value is false. Since V2.5.0.

Synthetica.scrollBarTrack.hoverOnButtons.enabled

boolean

Hover support for scrollBarTrack respects mouse over on arrow buttons. This means a mouse over on an arrow button is also interpreted as mouse over on a scrollBarTrack. Optional value. Default value is false. Since V2.5.0.

ScrollPane UI-Properties

Key

Type

Description

Synthetica.scrollPane.border.arcWidth

Integer

Defines the horizontal diameter of the arc at the four corners (used for background filling). Optional value - default value is 8. Since V2.2.0.

Synthetica.scrollPane.border.arcHeight

Integer

Defines the vertical diameter of the arc at the four corners (used for background filling). Optional value - default value is 8. Since V2.2.0.

Synthetica.scrollPane.border.fillInsets

Insets

Defines the insets used for background filling so you are able to define an empty area. Optional value - default value is 0 0 0 0. Since V2.9.0.

By default Synthetica installs an own renderer (SyntheticaHeaderRenderer) for table headers. If the value is set to 'true' the original SynthHeaderRenderer will be used. Optional value, default is false. Since V2.3.0.

Paint tab text on the left and tab icon on the right side. Optional value, default value is false. Since V2.1.0.

Synthetica.tabbedPane.tab.hover.insets

Insets

Optional value to restrict colorized hover area. Since V2.1.0.

Synthetica.tabbedPane.tab.animation.cycles

Integer

Number of animation cycles when mouse is moved out of tab. Optional value. Default value is 1. Since V2.2.0.

Synthetica.tabbedPane.tab.animation.delay

Integer

Delay between images when mouse is moved out of tab. Optional value. Default value is 50. Since V2.2.0.

Synthetica.tabbedPane.tab.animation.type

Integer

Animation type when mouse is moved out of tab. Optional value. Default value is 2. Since V2.2.0.

Synthetica.tabbedPane.tab.hover.animation.cycles

Integer

Number of animation cycles when mouse is moved over a tab. Optional value. Default value is 1. Since V2.2.0.

Synthetica.tabbedPane.tab.hover.animation.delay

Integer

Delay between images when mouse is moved over a tab. Optional value. Default value is 50. Since V2.2.0.

Synthetica.tabbedPane.tab.hover.animation.type

Integer

Animation type when mouse is moved over a tab. Optional value. Default value is 1. Since V2.2.0.

Synthetica.tabbedPane.tab.styleIsRotated

Boolean

Hint for tabbed panes with left/right tab placement and rotated tabs (not supported by the Swing's core JTabbedPane). A value of 'true' means that the defined tab styles already cover rotation, so the renderer doesn't have to rotate the tabs programatically. Optional value. Default value is false. Since V2.8.2.

Synthetica.tabbedPane.rotateTabRuns

Boolean

In the case that multiple tab rows appear the rows will be rotated for the selected tab. This property can be used to enable/disable tab row rotation. Optional value. Default value is true. Since V2.7.0.

Synthetica.tabbedPane.tabs.stretch

Boolean

Optional value to stretch tabs across the whole width. Currently only wrap layout policy is supported. Optional value. Default value is false. Since V2.7.0.

Synthetica.tabbedPane.tabs.maxStretchFactor

Integer

Tabs will be stretched to a maximum of the regular width multiplied by maxStretchFactor. If additional space is available tabs appear centered. Optional value. Default value is 3. Since V2.7.0.

Synthetica.tabbedPane.keepOpacity

Boolean

Hint to leave child opacity unchanged. Optional value. Default is false which means that opacity of child components will be set to non-opaque. Since V2.7.0.

An optional value for a light image which will be painted on top of the regular background image (inactive state). The image will be stretched horizontal. The verticalTiled and insets settings for the background image will be used. Since V2.2.0.

Synthetica.toolBar.background.light2

idref

An optional value for a light image which will be painted on top of the regular background image and the first light image. The image will be stretched horizontal and vertical. Since V2.3.0.

Synthetica.toolBar.button.border

idref

Path for a background image which is only used for buttons placed on a ToolBar. The image-insets for a regular button will be used.

Synthetica.toolBar.button.border.hover

idref

Path for button background image which represents the hover state. The image-insets for a regular button will be used.

Synthetica.toolBar.button.border.pressed

idref

Optional path for button background image which represents the pressed state. The image-insets for a regular button will be used. Since V2.3.0.

Synthetica.toolBar.toggleButton.border.selected

idref

Optional path for toggleButton background image which represents the selected state. The image-insets for a regular toggleButton will be used. Since V2.3.0.

Synthetica.toolBar.toggleButton.border.selectedAndHover

idref

Optional path for toggleButton background image which represents the selectedAndHover state. The image-insets for a regular toggleButton will be used. Since V2.3.0.

Viewport UI-Properties

Key

Type

Description

Synthetica.viewport.dynamicBackgroundColorEnabled

boolean

Enable/disable dynamic background color for viewports. True (enabled) means the background color of the view
will be used for viewport painting - usefull feature for tables, so you don't have to separately set a
background-color for the viewport. Optional value. Default value is false. Since V2.7.0.

Synthetica.javaHelpEditorViewport.background

Color

The default background color for the JavaHelp content - optional value. Default is the default viewport background color. Since V2.18.0.