Skip to main content

Substance 2.1 official release

Posted by kirillcool on December 12, 2005 at 11:40 AM PST

Substance look-and-feel has reached the 2.1 release, with a lot of new features and a lot of bugs fixed.

The brief overview of new features:

  • JGoodies Looks'
    package for drop shadows support on popup windows (menus, tooltips etc)


  • Heap status panel when application is run under
    decorated mode has been added. The panel can be shown / hidden from the top-level frame menu. Clicking on the panel runs the garbage collector. This panel is shown only when substancelaf.heapStatusPanel
    VM flag (no value needed) is specified.



  • Added optional rectangular shaper for buttons.


  • Added optional wave gradient painter for buttons.


  • Menu items in the same JMenu or JPopupMenu
    are aligned so that the texts start at the same X offset. This functionality takes into account menu item icons, menu item marks (for JRadioButtonMenuItem and JCheckBoxMenuItem) and nested menu icons.




  • Support for Mac-like
    indication on frames that have unsaved content. Application should set SubstanceLookAndFeel.WINDOW_MODIFIED client property on either the JRootPane of the corresponding frame / dialog / internal frame or on the JInternalFrame. The value that corresponds to unsaved state is Boolean.TRUE. See 31-second AVI movie (530 KB) illustrating the technique.


  • Support for Mac-like
    indication on tabs in JTabbedPane that have unsaved content. Application should set SubstanceLookAndFeel.WINDOW_MODIFIED client property on the tabbed pane's Component (if it's JComponent). The value that corresponds to unsaved state is Boolean.TRUE. See 67-second AVI movie (1.2 MB) illustrating the technique.


  • Support for NetBeans-like
    close button on tabs in JTabbedPane. Application should set
    SubstanceLookAndFeel.TABBED_PANE_CLOSE_BUTTONS_PROPERTY
    client property on either the tabbed pane's Component (if it's JComponent), JTabbedPane (for all tabs of that pane) or the UIManager (for all tabbed panes). The value that corresponds to tab with close button is Boolean.TRUE. In addition, there's rollover effect on enabled tabs (like
    on any other control such as buttons or scroll bars).
    See 45-second AVI movie (810 KB) illustrating the technique.


  • The substancelaf.fontSizeExtra
    VM flag specifies the base font size for all UI controls. The value is integer followed by optional plus + or minus - sign. The integer value plus 11 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 11. For example,
    -Dsubstancelaf.fontSizeExtra=3+ results in

  • Xoetrope XUI has contributed their color wheel chooser panel:


  • Twenty one additional themes have been provided
    in the Theme pack plugin.


  • Additional Brushed metal watermark has been added
    in org.jvnet.substance.watermarkpack.ExtraBrushedMetalWatermark.
    This watermark is in the Watermark pack plugin.


  • Custom UI delegates for NetBeans components (tabbed
    container and sliding button) have been added under NetBeans.


  • Eight additional button shapers have been provided
    in the Button shaper pack plugin.


The full list of new features is available, along with the Web Start demo.

Related Topics >>