|
|
Drop shadows on popup windows |
JGoodies Looks'
package for drop shadows support on popup windows (menus, tooltips etc) has been
added:
|
|
|
Heap status panel |
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.
|
|
|
Specifying theme for a button |
Added client properties for the buttons:
|
|
|
Specifying sizing policy for the buttons |
Added client property for the buttons.
SubstanceLookAndFeel.BUTTON_NO_MIN_SIZE_PROPERTY specifies
that the associated button should be as small as possible (no minimum width or height).
Value must be Boolean.TRUE.
|
|
|
Rectangular shaper for buttons |
Added optional rectangular shaper for buttons. Can be set using:
|
|
|
Wave gradient painter for buttons |
Added optional wave gradient painter for buttons. Can be set using:
|
|
|
Additional entries in system menu |
Additional entries in the system menu allow
changing Substance theme, watermark, button shaper and gradient painter
without the need to code this functionality in the application itself.
These entries are shown when neither substancelaf.noExtraElements
VM flag is specified, nor SubstanceLookAndFeel.NO_EXTRA_ELEMENTS
client property is put in the UIManager with value Boolean.TRUE. Example of theme system menu entry: Example of watermark system menu entry: Example of button shaper system menu entry: Example of gradient painter system menu entry: |
|
|
Aligning menu items |
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. Before: After: |
|
|
Visual indication of not-saved frames |
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.
Pulsating loop on JInternalFrame - red theme: Pulsating loop on JInternalFrame - yellow theme: Pulsating loop on JInternalFrame - tooltip on close button in unsaved state: Pulsating loop on JDesktopIcon: Pulsating loop on JFrame: |
|
|
Visual indication of not-saved tabs |
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.
Pulsating loop on JTabbedPane - red theme (animation start): Pulsating loop on JTabbedPane - orange theme (midway through animation): Pulsating loop on JTabbedPane - yellow theme (animation flex point): |
|
|
Close button and rollover effects on tabs |
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.
Close button on active tab in JTabbedPane - mouse not over close button (includes mouse pointer): Close button on active tab in JTabbedPane - mouse over close button (includes mouse pointer): Close button on inactive enabled tab in JTabbedPane - mouse not over tab (includes mouse pointer): Close button on inactive enabled tab in JTabbedPane - mouse over tab but not over close button (includes mouse pointer): Close button on inactive enabled tab in JTabbedPane - mouse over tab and over close button (includes mouse pointer): |
|
|
Option for specifying base font size as VM flag |
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
|
|
|
Ghost mark on unselected radio buttons |
Unselected radio buttons show "ghost" mark
to indicate that they "are" radio buttons:
|
|
|
Focus ownership indication |
Buttons, checkboxes and radio buttons that own
focus are shown with dash contour:
|
|
|
Additional color chooser panel |
Xoetrope XUI
has contributed their color wheel chooser panel:
|
|
|
Translucent watermarks on menus |
The watermark painting on menus is translucent, allowing
the menu to "stand out" better:
|
|
|
Additional themes |
Twenty one additional themes have been provided
in the Theme pack
plugin. Among others:
Bloody Moon in org.jvnet.substance.themepack.theme.ExtraBloodyMoonTheme Brown Velvet in org.jvnet.substance.themepack.theme.ExtraBrownVelvetTheme Earth Fresco in org.jvnet.substance.themepack.theme.ExtraEarthFrescoTheme Green Pearl in org.jvnet.substance.themepack.theme.ExtraGreenPearlTheme Mahogany in org.jvnet.substance.themepack.theme.ExtraMahoganyTheme Orchid Alloy in org.jvnet.substance.themepack.theme.ExtraOrchidAlloyTheme Turquoise Lake in org.jvnet.substance.themepack.theme.ExtraTurquoiseLakeTheme Yellow Marine in org.jvnet.substance.themepack.theme.ExtraYellowMarineTheme |
|
|
Additional watermark |
Additional Brushed metal watermark has been added in org.jvnet.substance.watermarkpack.ExtraBrushedMetalWatermark. This watermark is in the Watermark pack plugin. |
|
|
Support for NetBeans components |
Custom UI delegates for NetBeans components (tabbed
container and sliding button) have been added under NetBeans.
Example of custom tabbed container:
|
|
|
Additional button shapers |
Eight additional button shapers have been provided
in the Button shaper pack
plugin. They are:
Butterfly in org.jvnet.substance.shaperpack.button.ButterflyButtonShaper
Dolphin in org.jvnet.substance.shaperpack.button.DolphinButtonShaper
Fish in org.jvnet.substance.shaperpack.button.FishButtonShaper
Foot in org.jvnet.substance.shaperpack.button.FootButtonShaper
Ice Cream in org.jvnet.substance.shaperpack.button.IceCreamButtonShaper
Race Car in org.jvnet.substance.shaperpack.button.RaceCarButtonShaper
Rhino in org.jvnet.substance.shaperpack.button.RhinoButtonShaper
Stegosaurus in org.jvnet.substance.shaperpack.button.StegosaurusButtonShaper
|