Substance look and feel - available VM flags


substancelaf.buttonShaper
since version 2.1

Specifies the initial button shaper. The value should be a fully qualified class name of the button shaper, for example
-Dsubstancelaf.buttonShaper=org.jvnet.substance.button.ClassicButtonShaper

substancelaf.configFile
since version 2.2

Specifies the configuration file location. The value should be a full name of a local file. This file should be in standard properties format. Any VM flag on this page can be specified in this file. For example,
-Dsubstancelaf.configFile=C:\myApp.config
Note that when this flag is specified, any other Substance-related VM flags are ignored.

substancelaf.enableInvertedThemes
since version 2.3

Enables inverted themes.
-Dsubstancelaf.enableInvertedThemes

substancelaf.fontSizeExtra
since version 2.1

Allows changing base font size for all UI controls. The value is integer followed by optional plus + or minus - sign. The integer value plus OS-specific base value is the base font size for all UI controls. If plus sign follows the integer value, the base font will be bold. If this flag is not specified, the base font size is taken to be the OS-specific value. For Mac OS X it's 13, for all other OS's it's 11. For example, specifying base font size of 14 with bold indication for Windows:
-Dsubstancelaf.fontSizeExtra=3+


Specifying base font size of 14 without bold indication can be either of the following:
-Dsubstancelaf.fontSizeExtra=3
-Dsubstancelaf.fontSizeExtra=3-
Specifying base font size of 9 with bold indication:
-Dsubstancelaf.fontSizeExtra=-2+

substancelaf.gradientPainter
since version 2.1

Specifies the initial gradient painter for the buttons. The value should be a fully qualified class name of the gradient painter, for example
-Dsubstancelaf.gradientPainter=org.jvnet.substance.painter.WaveGradientPainter

substancelaf.heapStatusPanel
since version 2.1

If specified, the title panes of frames will have menu item that enables heap status panel. If this flag is specified, the initial state of the heap status panel is invisible. The visibility status can be toggled via a menu entry in the main menu. If no value is specified, the heap panel is enabled. If value is specified, it is taken to be the name of the logfile for tracking the heap panel status. Each entry in the logfile has timestamp, used heap space in KB and total heap space in KB. For example,
-Dsubstancelaf.heapStatusPanel=C:\temp\heap-status.log

substancelaf.noExtraElements
since version 2.1

If specified, Substance will not add any additional UI elements (such as system menu entries or menu bar search panel). No value is needed. For example,
-Dsubstancelaf.noExtraElements

substancelaf.theme
since version 2.0

Specifies the initial theme. The value should be a fully qualified class name of the theme, for example
-Dsubstancelaf.theme=org.jvnet.substance.theme.SubstanceBarbyPinkTheme

substancelaf.traceFile
since version 2.0

Specifies that Substance should run in trace mode, providing the location of the trace logfile. Every few seconds, Substance will record allocation of large images and cache sizes to this file in order to pinpoint the memory problems. For example,
-Dsubstancelaf.traceFile=C:\temp\substance.log

substancelaf.useDecorations
since version 2.0

If specified, all frames and dialogs will be created with custom title panes. No value is needed. For example,
-Dsubstancelaf.useDecorations

substancelaf.watermark
since version 2.0

Specifies the initial watermark. The value should be a fully qualified class name of the watermark, for example
-Dsubstancelaf.watermark=org.jvnet.substance.watermark.SubstanceKatakanaWatermark

substancelaf.watermark.image
since version 2.0

Relevant only if the watermark class is org.jvnet.substance.watermark.SubstanceImageWatermark. In this case, specifies the location of the watermark image. If the value starts with http, the location is assumed to be URL, otherwise - local file. For example,
-Dsubstancelaf.watermark.image="C:\My Pictures\background.jpg"

substancelaf.watermark. image.kind
since version 2.3

The SubstanceConstants.ImageWatermarkKind enum defines the following kinds of image watermark:
  • SCREEN_CENTER_SCALE - the default behaviour. The image is centered in the screen and scaled down if necessary.
  • SCREEN_TILE - the image is tiled starting from the screen top-left corner and not scaled.
  • APP_ANCHOR - the image is anchored to the top-left corner of the application frame and not scaled.
  • APP_CENTER - the image is anchored to the center of the application frame and not scaled.
  • APP_TILE - the image is tiled starting from the top-left corner of the application frame and not scaled.
In order to set the image watermark kind use -Dsubstancelaf.watermark.image.kind VM property. The value should match the name of one of the SubstanceConstants.ImageWatermarkKind enum values. An example of APP_TILE image watermark kind:
-Dsubstancelaf.watermark.image.kind=APP_TILE

substancelaf.watermark. image.opacity
since version 2.3

Specifies the opacity of the image watermark. The default value is 0.2. The value should be a float in 0.0-1.0 range. An example of default opacity (0.2):
-Dsubstancelaf.watermark.image.opacity=0.2

An example of custom opacity (0.6):
-Dsubstancelaf.watermark.image.opacity=0.2

substancelaf.watermark.tobleed
since version 2.2

Specifies that the watermark should "bleed" through lists, tables and trees. In addition, the text fields will be showing watermark with 40% translucency. No value is needed. For example,
-Dsubstancelaf.watermark.tobleed