| |
|
| java.lang.Object javax.swing.LookAndFeel javax.swing.plaf.basic.BasicLookAndFeel org.jvnet.substance.SubstanceLookAndFeel
All known Subclasses: org.jvnet.substance.skin.SubstanceMagmaLookAndFeel, org.jvnet.substance.skin.SubstanceGreenMagicLookAndFeel, org.jvnet.substance.skin.SubstanceMistAquaLookAndFeel, org.jvnet.substance.skin.SubstanceOfficeSilver2007LookAndFeel, org.jvnet.substance.skin.SubstanceRavenGraphiteLookAndFeel, org.jvnet.substance.skin.SubstanceNebulaLookAndFeel, org.jvnet.substance.skin.SubstanceEmeraldDuskLookAndFeel, org.jvnet.substance.skin.SubstanceAutumnLookAndFeel, org.jvnet.substance.skin.SubstanceCremeLookAndFeel, org.jvnet.substance.skin.SubstanceBusinessBlueSteelLookAndFeel, org.jvnet.substance.skin.SubstanceRavenLookAndFeel, org.jvnet.substance.SubstanceDefaultLookAndFeel, org.jvnet.substance.skin.SubstanceMangoLookAndFeel, org.jvnet.substance.skin.SubstanceChallengerDeepLookAndFeel, org.jvnet.substance.skin.SubstanceFindingNemoLookAndFeel, org.jvnet.substance.skin.SubstanceBusinessLookAndFeel, org.jvnet.substance.skin.SubstanceCremeCoffeeLookAndFeel, org.jvnet.substance.skin.SubstanceBusinessBlackSteelLookAndFeel, org.jvnet.substance.skin.SubstanceFieldOfWheatLookAndFeel, org.jvnet.substance.skin.SubstanceNebulaBrickWallLookAndFeel, org.jvnet.substance.skin.SubstanceOfficeBlue2007LookAndFeel, org.jvnet.substance.skin.SubstanceRavenGraphiteGlassLookAndFeel, org.jvnet.substance.skin.SubstanceMistSilverLookAndFeel, org.jvnet.substance.skin.SubstanceSaharaLookAndFeel, org.jvnet.substance.skin.SubstanceModerateLookAndFeel,
SubstanceLookAndFeel | public class SubstanceLookAndFeel extends BasicLookAndFeel (Code) | | Main class for Substance look and feel. All static methods in
this class should be called when Substance is the currently set look and
feel.
Since version 3.1, Substance no longer extends Metal. As before, this
is an implementation detail and not part of an official API.
author: Kirill Grouchnikov |
Field Summary | |
final public static String | BACKGROUND_COMPOSITE Client property name for specifying the background composite for various
translucency effects. | final public static FadeKind | BORDER_ANIMATION_KIND Fade kind for border animations. | final public static String | BORDER_PAINTER_PROPERTY Property name for specifying border painter. | final public static String | BUTTON_NO_MIN_SIZE_PROPERTY Client property name for ignoring default (minimum) dimension for a
single button. | final public static String | BUTTON_OPEN_SIDE_PROPERTY Client property name for specifying an open side for a single button.
This property must be set as a client property on a specific button. | final public static String | BUTTON_PAINT_NEVER_PROPERTY Client property name for specifying that a single button / all
application buttons should never paint the background. | final public static String | BUTTON_SHAPER_PROPERTY Property name for specifying button shaper. | final public static String | BUTTON_SIDE_PROPERTY Client property name for specifying a straight side for a single button.
This property must be set as a client property on a specific button. | final public static String | COLORIZATION_FACTOR
Client property name for specifying that the colorization amount applied
to the background and foreground of the current theme and the specific
control. | final public static String | COMBO_BOX_POPUP_FLYOUT_ORIENTATION Client property name for specifying combo popup flyout orientation. | final public static String | COMBO_POPUP_PROTOTYPE Property name for specifying the combobox popup prototype display value
which is used to compute the width of the popup at runtime. | final public static String | CONFIG_FILE VM property name for the configuration file. | final public static String | CORNER_RADIUS Client property name for specifying the corner radius for buttons.
Currently, this property is respected only on toolbar buttons. | final public static String | DEBUG_UI_MODE Property name for specifying the debug UI mode. | final public static String | ENABLE_INVERTED_THEMES Property name for enabling inverted themes. | final public static String | ENABLE_NEGATED_THEMES Property name for enabling negated themes. | final public static String | FLAT_PROPERTY Property name for specifying that the component should be painted flat
(no background / border) when it's inactive. | final public static String | FOCUS_KIND Client property name for specifying the kind of focus indication on
buttons, check boxes and radio buttons. | final public static String | GRADIENT_PAINTER_PROPERTY Property name for specifying gradient painter. | final public static String | GRIP_PAINTER Property name for specifying custom grip handles. | final public static String | HEAP_STATUS_PANEL Property name for specifying that custom frame title panes should show
the heap status panel. | final public static String | MENU_GUTTER_FILL_KIND Property name for specifying menu gutter fill kind. | final public static String | NO_EXTRA_ELEMENTS Property name for specifying that no extra UI elements (such as menu
items in system menu or menu search panel) should be shown. | final public static String | OVERLAY_PROPERTY Client property name for specifying that a single control / all
application controls have overlay functionality. | final public static String | PAINT_ACTIVE_PROPERTY Client property name for specifying that a single control / all
application controls should always be painted in active color (unless a
control is disabled). | final public static String | PASSWORD_ECHO_PER_CHAR Client property name for specifying the number of echo characters for
each password character. | final public static String | PLUGIN_XML The name of plugin configuration XML resource name. | final public static String | SCROLL_PANE_BUTTONS_POLICY Client property name for specifying scroll pane button policy. | final protected static String | SUBSTANCE_FONT_POLICY_KEY Internal client property name for storing application-specific font
policy. | final public static String | TABBED_PANE_CLOSE_BUTTONS_MODIFIED_ANIMATION Client property name for specifying that only the close button of a
marked-as-modified tab component should pulsate. | final public static String | TABBED_PANE_CLOSE_BUTTONS_PROPERTY Client property name for specifying that a single tab / all tabs of a
single tabbed pane / all tabs of all tabbed panes should have close
buttons. | final public static String | TABBED_PANE_CLOSE_CALLBACK Client property name for specifying the callback for deciding on the tab
close type. | final public static String | TABBED_PANE_CONTENT_BORDER_KIND Client property name for specifying the content pane border kind. | final public static String | TABBED_PANE_TEXT_ALIGNMENT_KIND Client property name for specifying the text alignment kind for on
SwingConstants.LEFT and
SwingConstants.RIGHT tab
placements. | final public static String | TABBED_PANE_VERTICAL_ORIENTATION Client property name for specifying that a single tabbed pane / all
tabbed panes should have vertical layout (rotated tabs) on
SwingConstants.LEFT and
SwingConstants.RIGHT tab
placements. | final public static String | TABBED_PANE_VERTICAL_ORIENTATION_ROTATE_ICONS Client property name for specifying that when a single tabbed pane / all
tabbed panes is layed-out vertically, the tab icons remain unrotated.This
property can be specified on a single tab component, on a
JTabbedPane itself (will hold for all tab components that don't
define this property) or on
UIManager . | final public static String | THEME_PROPERTY Property name for setting theme. | final public static String | TITLE_PAINTER_PROPERTY Property name for specifying title painter. | final public static String | TRACE_FILE VM property name for specifying the trace file. | final public static FadeKind | TREE_DECORATIONS_ANIMATION_KIND
Fade kind for tree decorations animation kind. | final public static FadeKind | TREE_SMART_SCROLL_ANIMATION_KIND Fade kind for smart tree scroll. | final public static String | USE_THEMED_DEFAULT_ICONS
Client property name for specifying that icons on buttons and toggle
buttons should match the color of the current theme when they are in
default state. | final public static String | WATERMARK_IGNORE Client property name for requesting that watermark should not be painted
on the component and its descendants. | final public static String | WATERMARK_IMAGE_KIND VM property for specifying the image watermark kind. | final public static String | WATERMARK_IMAGE_OPACITY VM property for specifying the image watermark opacity. | final public static String | WATERMARK_IMAGE_PROPERTY Property name for setting
SubstanceImageWatermark watermark
image. | final public static String | WATERMARK_PROPERTY Property name for setting watermark. | final public static String | WATERMARK_TO_BLEED Property name for requesting that watermark should bleed through lists,
trees and tables. | final public static String | WINDOW_MODIFIED Client property name for specifying that contents of some frame, dialog,
internal frame, desktop icon or tab have been modified and not saved. | protected static Map<Class<?>, ControlBackgroundComposite> | backgroundComposites Contains default background composites on per-class basis. | protected static Set<BorderPainterChangeListener> | borderPainterChangeListeners List of all listeners on border painter changes. | protected static PluginManager | borderPainterPlugins Plugin manager for border painter plugins. | protected static Set<ButtonShaperChangeListener> | buttonShaperChangeListeners List of all listeners on button shaper changes. | protected static ComponentPluginManager | componentPlugins Plugin manager for component plugins. | protected KeyboardFocusManager | currentKeyboardFocusManager The current keyboard focus manager - fix for defect 208. | protected PropertyChangeListener | focusOwnerChangeListener Change listener on keyboard focus manager - fix for defect 208. | protected static Set<GradientPainterChangeListener> | gradientPainterChangeListeners List of all listeners on gradient painter changes. | protected static Set<String> | ignoreAnimationsSet Contains a list of all control class names that should ignore the
animations. | protected static boolean | isDebugUiMode | protected static Set<LocaleChangeListener> | localeChangeListeners List of all listeners on closing tabs. | protected static Map<String, SubstanceMixTheme> | mixedThemes List of all globally registered mixed themes. | protected static PluginManager | painterPlugins Plugin manager for gradient painter plugins. | protected static ParamReader | paramReader The parameter reader. | protected static PluginManager | shaperPlugins Plugin manager for button shaper plugins. | protected static Set<SkinChangeListener> | skinChangeListeners List of all listeners on skin changes. | protected static PluginManager | skinPlugins Plugin manager for skin plugins. | protected static Set<ThemeChangeListener> | themeChangeListeners List of all listeners on theme changes. | protected static PluginManager | themePlugins Plugin manager for theme plugins. | protected static PluginManager | titlePainterPlugins Plugin manager for title painter plugins. | protected static boolean | toBleedWatermark Indicates whether the watermark should "bleed" through lists, tables and
trees. | protected static boolean | toEnableInvertedThemes Indicates whether inverted themes should be enabled. | protected static boolean | toEnableNegatedThemes Indicates whether inverted themes should be enabled. | protected static boolean | toShowExtraElements Indicates whether extra UI elements (such as menu items in system menu or
menu search panel) should be shown. | protected static boolean | toUseConstantThemesOnDialogs Indicates whether option dialogs (error, question, warning, info) should
use constant themes for icon coloring. | protected static Set<WatermarkChangeListener> | watermarkChangeListeners List of all listeners on watermark changes. | protected static PluginManager | watermarkPlugins Plugin manager for watermark plugins. |
Method Summary | |
public static void | addMixedTheme(SubstanceMixTheme mixedTheme) Globally registers a new mixed theme. | public static void | addMixedTheme(SubstanceTheme... themes) Globally registers a new mixed theme. | public static void | addMixedThemeBy(SubstanceTheme mainTheme) | public static ColorScheme | getActiveColorScheme() Returns the current color scheme for components in active visual state. | public static Map<String, BorderPainterInfo> | getAllBorderPainters() Returns all available border painters.
All available border painters. | public static Map<String, ButtonShaperInfo> | getAllButtonShapers() Returns all available button shapers.
All available button shapers. | public static Map<String, GradientPainterInfo> | getAllGradientPainters() Returns all available gradient painters.
All available gradient painters. | public static Map<String, SkinInfo> | getAllSkins() Returns all available skins.
All available skins. | public static Set<BaseTabCloseListener> | getAllTabCloseListeners() Returns the set of all listeners registered on tab-close events on all
tabbed panes. | public static Set<BaseTabCloseListener> | getAllTabCloseListeners(JTabbedPane tabbedPane) Returns all listeners registered on tab closing of the specified tabbed
pane.
Parameters: tabbedPane - A tabbed pane. | public static Map<String, ThemeInfo> | getAllThemes() Returns all available themes.
All available color themes. | public static Map<String, WatermarkInfo> | getAllWatermarks() Returns all available watermarks.
All available watermarks. | public static synchronized ControlBackgroundComposite | getBackgroundComposite(Component component) Returns the default background composite for the specified component.
Parameters: component - Component. | public static SubstanceBorderPainter | getCurrentBorderPainter() Returns the current Border painter. | public static String | getCurrentBorderPainterName() Returns the current border painter name. | public static SubstanceButtonShaper | getCurrentButtonShaper() Returns the current button shaper. | public static String | getCurrentButtonShaperName() Returns the current button shaper name. | public static SubstanceDecorationPainter | getCurrentDecorationPainter() | public static SubstanceGradientPainter | getCurrentGradientPainter() Returns the current gradient painter. | public static String | getCurrentGradientPainterName() Returns the current gradient painter name. | public static SubstanceHighlightPainter | getCurrentHighlightPainter() | public static SubstanceTextPainter | getCurrentTextPainter() | public static String | getCurrentThemeName() Returns the current color theme name. | public static SubstanceWatermark | getCurrentWatermark() Returns the current watermark. | public static String | getCurrentWatermarkName() Returns the current watermark name. | public static ColorScheme | getDefaultColorScheme() Returns the current color scheme for components in default visual state. | public UIDefaults | getDefaults() | public String | getDescription() | public static ColorScheme | getDisabledColorScheme() Returns the current color scheme for components in disabled visual state. | public static FontPolicy | getFontPolicy() Looks up and retrieves the
FontPolicy used by the Substance
family. | public String | getID() | public static ImageWatermarkKind | getImageWatermarkKind() Returns the global kind for image-based watermarks. | public static float | getImageWatermarkOpacity() Returns the global opacity for image-based watermarks.
The global opacity for image-based watermarks. | public static synchronized ResourceBundle | getLabelBundle() Retrieves the current label bundle. | public static synchronized ResourceBundle | getLabelBundle(Locale locale) Retrieves the label bundle for the specified locale.
Parameters: locale - Locale. | public static Set<LocaleChangeListener> | getLocaleListeners() Returns all listeners registered on locale change. | public String | getName() | public static ParamReader | getParamReader() Returns the parameter reader. | public static Set | getPlugins() Returns all available plugins. | public boolean | getSupportsWindowDecorations() | public static SubstanceTheme | getTheme() Returns the current theme. | public static JComponent | getTitlePaneComponent(Window window) Returns the title pane of the specified top-level window.
Parameters: window - Top-level window. | public static boolean | hasMixedThemes() Checks whether there are any mixed themes registered
globally. | public static void | hideMenuSearchPanels() Hides menu search panels on all open frames. | public static void | ignoreAnimationsOnClass(Class> componentClazz) Requests that animations be ignored on all instances of the specified
class. | public static void | ignoreAnimationsOnClass(String componentClazzName) Requests that animations be ignored on all instances of the specified
class. | protected void | initClassDefaults(UIDefaults table) | protected void | initComponentDefaults(UIDefaults table) | public void | initialize() | public static boolean | isDebugUiMode() Returns indication whether the application is in debug UI mode. | public boolean | isNativeLookAndFeel() | public boolean | isSupportedLookAndFeel() | public static boolean | isToUseConstantThemesOnDialogs() Checks whether the JOptionPane s created with predefined
message types should use constant themes for the icons. | public static void | permanentlyHideHeapStatusPanel(JRootPane pane) Makes the heap status panels disappear permanently on the specified title
pane and removes the corresponding check box menu items from the system
menu. | public static void | permanentlyShowHeapStatusPanel(JRootPane pane) Makes the heap status panels appear permanently on the specified title
pane and removes the corresponding check box menu items from the system
menu. | public static void | registerBorderPainterChangeListener(BorderPainterChangeListener borderPainterChangeListener) Registers a new listener on border painter change. | public static void | registerButtonShaperChangeListener(ButtonShaperChangeListener buttonShaperChangeListener) Registers a new listener on button shaper change. | public static void | registerGradientPainterChangeListener(GradientPainterChangeListener gradientPainterChangeListener) Registers a new listener on gradient painter change. | public static void | registerLocaleChangeListener(LocaleChangeListener localeListener) Registers a new listener on locale change. | public static void | registerSkinChangeListener(SkinChangeListener skinChangeListener) Registers a new listener on skin change. | public static void | registerTabCloseChangeListener(BaseTabCloseListener tabCloseListener) Registers the specified listener on tab-close events on all
tabbed panes. | public static void | registerTabCloseChangeListener(JTabbedPane tabbedPane, BaseTabCloseListener tabCloseListener) Registers the specified listener on tab-close events on the specified
tabbed pane.
Parameters: tabbedPane - Tabbed pane. | public static void | registerThemeChangeListener(ThemeChangeListener themeChangeListener) Registers a new listener on theme change. | public static void | registerWatermarkChangeListener(WatermarkChangeListener watermarkChangeListener) Registers a new listener on watermark change. | public static void | removeMixedTheme(SubstanceMixTheme mixedTheme) Globally unregisters the specified mixed theme. | public static void | removeMixedThemeBy(SubstanceTheme mainTheme) Globally unregisters a collection of mixed themes such
that the specified theme is the main theme. | public static synchronized void | resetLabelBundle() Resets the current label bundle. | public static synchronized void | setBackgroundComposite(Class> clazz, ControlBackgroundComposite composite) Specifies that a control of some class should use the specified
background composite when it (the control) doesn't define the
SubstanceLookAndFeel.BACKGROUND_COMPOSITE client property. | public static boolean | setCurrentBorderPainter(String borderPainterClassName) Sets new border painter.
Parameters: borderPainterClassName - Border painter class name (full qualified). | public static boolean | setCurrentBorderPainter(SubstanceBorderPainter currentBorderPainter) Sets new border painter.
Parameters: currentBorderPainter - Border painter object. | public static boolean | setCurrentButtonShaper(String buttonShaperClassName) Sets new button shaper.
Parameters: buttonShaperClassName - Button shaper class name (full qualified). | public static boolean | setCurrentButtonShaper(SubstanceButtonShaper currentButtonShaper) Sets new button shaper.
Parameters: currentButtonShaper - Button shaper object. | public static boolean | setCurrentDecorationPainter(SubstanceDecorationPainter newDecorationPainter) | public static boolean | setCurrentGradientPainter(String gradientPainterClassName) Sets new gradient painter.
Parameters: gradientPainterClassName - Gradient painter class name (full qualified). | public static boolean | setCurrentGradientPainter(SubstanceGradientPainter currentGradientPainter) Sets new gradient painter.
Parameters: currentGradientPainter - Gradient painter object. | public static boolean | setCurrentHighlightPainter(SubstanceHighlightPainter newHighlightPainter) | public static boolean | setCurrentTextPainter(SubstanceTextPainter newTextPainter) | public static boolean | setCurrentTheme(String themeClassName) Sets new theme. | public static boolean | setCurrentTheme(ThemeInfo themeInfo) Sets new theme. | public static boolean | setCurrentTheme(SubstanceTheme theme) Sets new theme. | public static boolean | setCurrentWatermark(String watermarkClassName) Sets new watermark.
Parameters: watermarkClassName - Watermark class name (full qualified). | public static boolean | setCurrentWatermark(SubstanceWatermark currentWatermark) Sets new watermark.
Parameters: currentWatermark - Watermark object. | public static void | setDecorationType(JComponent comp, DecorationAreaType type) | public static void | setFontPolicy(FontPolicy fontPolicy) Sets the
FontPolicy to be used with Substance family. | public static void | setImageWatermarkKind(ImageWatermarkKind kind) Sets the global kind for image-based watermarks. | public static void | setImageWatermarkOpacity(float opacity) Sets the global opacity for image-based watermarks. | public static void | setLabelBundleClassLoader(ClassLoader labelBundleClassLoader) Sets the class loader for
SubstanceLookAndFeel.LABEL_BUNDLE . | public static boolean | setSkin(SubstanceSkin skin) Sets the specified skin.
Parameters: skin - Skin to set. | public static boolean | setSkin(String skinClassName) Sets the specified skin.
Parameters: skinClassName - Skin to set. | public static void | setToUseConstantThemesOnDialogs(boolean toUseConstantThemesOnDialogs) Sets the new setting for the icons of the JOptionPane s
created with predefined message types. | public static void | showMenuSearchPanels() Shows menu search panels on all open frames. | public static void | stopThreads() Stops all Substance threads. | public static boolean | toBleedWatermark() Returns indication whether the watermark should "bleed" through list,
table and tree renderers (where possible). | public static boolean | toEnableInvertedThemes() Returns indication whether inverted themes should be enabled. | public static boolean | toEnableNegatedThemes() Returns indication whether negated themes should be enabled. | public static boolean | toIgnoreAnimation(Class> componentClazz) Checks whether animations should be ignored on instances of the specified
class.
Parameters: componentClazz - Component class. | public static boolean | toShowExtraElements() Returns indication whether extra UI elements (such as menu items in
system menu or menu search panel) should be shown. | public void | uninitialize() | public static void | unregisterBorderPainterChangeListener(BorderPainterChangeListener borderPainterChangeListener) Unregisters a listener on border painter change. | public static void | unregisterButtonShaperChangeListener(ButtonShaperChangeListener buttonShaperChangeListener) Unregisters a listener on button shaper change. | public static void | unregisterGradientPainterChangeListener(GradientPainterChangeListener gradientPainterChangeListener) Unregisters a listener on gradient painter change. | public static void | unregisterLocaleChangeListener(LocaleChangeListener localeListener) Unregisters a listener on locale change. | public static void | unregisterSkinChangeListener(SkinChangeListener skinChangeListener) Unregisters a listener on skin change. | public static void | unregisterTabCloseChangeListener(BaseTabCloseListener tabCloseListener) Unregisters the specified listener on tab-close events on all
tabbed panes. | public static void | unregisterTabCloseChangeListener(JTabbedPane tabbedPane, BaseTabCloseListener tabCloseListener) Unregisters the specified listener on tab-close events on the
specified tabbed pane.
Parameters: tabbedPane - Tabbed pane. | public static void | unregisterThemeChangeListener(ThemeChangeListener themeChangeListener) Unregisters a listener on theme change. | public static void | unregisterWatermarkChangeListener(WatermarkChangeListener watermarkChangeListener) Unregisters a listener on watermark change. |
BACKGROUND_COMPOSITE | final public static String BACKGROUND_COMPOSITE(Code) | | Client property name for specifying the background composite for various
translucency effects. This property can be set either as a client
property on a specific control or as a global setting on
UIManager . The value should be an instance of
ControlBackgroundComposite . Available core implementations
include
AlphaControlBackgroundComposite ,
DefaultControlBackgroundComposite and
DecayControlBackgroundComposite .
Note that setting this property on a container (such as
JScrollPane ) will affect all its children (recursively) unless
they set this property.
Example of setting a custom background composite on a scroll pane (will
affect the painting of the scroll bars and all its children):
JPanel myPanel = new JPanel();
JScrollPane jsp = new JScrollPane(myPanel);
myPanel.putClientProperty(SubstanceLookAndFeel.BACKGROUND_COMPOSITE,
new AlphaControlBackgroundComposite(0.4f, 0.7f));
Example of marking all application controls with the same background
composite:
UIManager.put(SubstanceLookAndFeel.BACKGROUND_COMPOSITE,
new AlphaControlBackgroundComposite(0.6f));
since: version 3.1 |
BORDER_ANIMATION_KIND | final public static FadeKind BORDER_ANIMATION_KIND(Code) | | Fade kind for border animations. Enabled by default, use
FadeConfigurationManager.disallowFades(FadeKind) to disable.
|
BUTTON_NO_MIN_SIZE_PROPERTY | final public static String BUTTON_NO_MIN_SIZE_PROPERTY(Code) | | Client property name for ignoring default (minimum) dimension for a
single button. This property can be set either as a client property on a
specific button or as a global setting on
UIManager . The value
should be either
Boolean.TRUE or
Boolean.FALSE .
Note that
SubstanceButtonShaper implementations are not required
to respect this property. The current implementations of the default
StandardButtonShaper and
ClassicButtonShaper respect this
property.
Example of marking a button to ignore minimum dimension settings:
JButton button = new JButton("text");
button.putClientProperty(SubstanceLookAndFeel.BUTTON_NO_MIN_SIZE_PROPERTY,
Boolean.TRUE);
Example of marking all application buttons to ignore minimum dimension
settings:
UIManager.put(SubstanceLookAndFeel.BUTTON_NO_MIN_SIZE_PROPERTY,
Boolean.TRUE);
since: version 2.1 |
BUTTON_OPEN_SIDE_PROPERTY | final public static String BUTTON_OPEN_SIDE_PROPERTY(Code) | | Client property name for specifying an open side for a single button.
This property must be set as a client property on a specific button. The
value can be:
Example of marking a button to have open north side:
JButton button = new JButton("text");
Set openSides = new HashSet();
openSides.put(Side.TOP);
button.putClientProperty(SubstanceLookAndFeel.BUTTON_OPEN_SIDE_PROPERTY,
openSides);
since: version 3.1 See Also: SubstanceLookAndFeel.BUTTON_SIDE_PROPERTY |
BUTTON_PAINT_NEVER_PROPERTY | final public static String BUTTON_PAINT_NEVER_PROPERTY(Code) | | Client property name for specifying that a single button / all
application buttons should never paint the background. This property can
be set either as a client property on a specific button or as a global
setting on
UIManager . The value should be either
Boolean.TRUE or
Boolean.FALSE . Note that unlike the
SubstanceLookAndFeel.FLAT_PROPERTY , a button marked with this property will never
show the background (will always be painted flat).
Example of marking a button to never paint background:
JButton button = new JButton("text");
button.putClientProperty(SubstanceLookAndFeel.BUTTON_PAINT_NEVER_PROPERTY,
Boolean.TRUE);
Example of marking all application buttons to never paint background:
UIManager.put(SubstanceLookAndFeel.BUTTON_PAINT_NEVER_PROPERTY,
Boolean.TRUE);
since: version 2.3 See Also: SubstanceLookAndFeel.FLAT_PROPERTY |
BUTTON_SIDE_PROPERTY | final public static String BUTTON_SIDE_PROPERTY(Code) | | Client property name for specifying a straight side for a single button.
This property must be set as a client property on a specific button. The
value can be:
Note that not all
SubstanceButtonShaper implementations are
required to respect this property. The default
StandardButtonShaper and
ClassicButtonShaper respect this
property.
Example of marking a button to have straight north side:
JButton button = new JButton("text");
button.putClientProperty(SubstanceLookAndFeel.BUTTON_SIDE_PROPERTY,
SubstanceConstants.Side.RIGHT.name());
since: version 2.1 See Also: SubstanceLookAndFeel.BUTTON_OPEN_SIDE_PROPERTY |
COLORIZATION_FACTOR | final public static String COLORIZATION_FACTOR(Code) | |
Client property name for specifying that the colorization amount applied
to the background and foreground of the current theme and the specific
control. By default, when the application does not use any custom colors,
all the controls are painted with the colors of the current theme / skin.
The colors coming from the look-and-feel implement the marker
UIResource interface which allows the UI delegates to
differentiate between application-specific colors which are not changed,
and the LAF-provide colors that are changed on LAF switch.
Up until version 4.2, the support for custom background and foreground
colors in Substance was not very consistent. On some controls, such as
buttons, the background color was ignored completely (in favour of the
current theme), while on others it was used to color the entire bounds of
the control (such as check box). This new client property installs the
"smart colorization" mode which uses the colors of the current theme
and the custom background and foreground colors (where installed
by application) to colorize the relevant portions of the control. For
example, on checkbox the custom background color will be used to colorize
the check box itself, while the custom foreground color will be applied
to the check box text and the check mark.
The value of this property specifies the actual colorization amount.
Value of 0.0 results in no colorization at all. Values closer to 1.0
result in controls being colorized in almost full amount of the custom
colors. Note that in order to maintain the gradients (fill, border, etc),
even value of 1.0 does not result in full custom color being applied to
the relevant visuals of the control.
This property can be specified globally on
UIManager , applying
on all controls, or on the specific component / container. In the later
case, the value will be applied to the component / container itself and
all its children that do not specify a custom value for this property.
The value should be an instance of
Double in 0.0-1.0 range.
Example of marking a button to have custom background color and
colorizing it with 50%:
JButton jb = new JButton("sample", myIcon);
jb.setBackground(Color.red);
jb.putClientProperty(SubstanceLookAndFeel.COLORIZATION_FACTOR,
new Double(0.5));
since: version 4.2 See Also: Component.setBackground(Color) See Also: Component.setForeground(Color) |
COMBO_BOX_POPUP_FLYOUT_ORIENTATION | final public static String COMBO_BOX_POPUP_FLYOUT_ORIENTATION(Code) | | Client property name for specifying combo popup flyout orientation. This
property can be set on either a specific
JComboBox or globally on
UIManager . The value should be one of the
Integer s
below:
Note that the combo arrow changes in accordance with the combo popup
flyout orientation. Example of setting a combobox with a custom flyout
orientation:
JComboBox cb = new JComboBox(
new Object[] { "Ester", "Jordi", "Jordina", "Jorge", "Sergi" });
cb.putClientProperty(SubstanceLookAndFeel.COMBO_BOX_POPUP_FLYOUT_ORIENTATION,
SwingConstants.CENTER);
since: version 2.3 See Also: SubstanceLookAndFeel.COMBO_POPUP_PROTOTYPE |
COMBO_POPUP_PROTOTYPE | final public static String COMBO_POPUP_PROTOTYPE(Code) | | Property name for specifying the combobox popup prototype display value
which is used to compute the width of the popup at runtime. The property
value should be one of:
This property can be set either on a specific
JComboBox or
globally on
UIManager .
Here is an example of combo popup prototype set to a model element:
JComboBox comboProto1 = new JComboBox(new Object[] { "aa", "aaaaa",
"aaaaaaaaaa", "this one is the one", "aaaaaaaaaaaaaaaaaaaaa" });
comboProto1.setPrototypeDisplayValue("aaaaa");
comboProto1.putClientProperty(SubstanceLookAndFeel.COMBO_POPUP_PROTOTYPE,
"this one is the one");
Here is an example of combo popup prototype set to a dynamic callback.
This callback always returns the last model element:
JComboBox comboProto3 = new JComboBox(new Object[] { "aa", "aaaaa",
"this is not", "this one is not it",
"this one is it that is for the popup" });
comboProto3.setPrototypeDisplayValue("aaaaa");
comboProto3.putClientProperty(SubstanceLookAndFeel.COMBO_POPUP_PROTOTYPE,
new ComboPopupPrototypeCallback() {
public Object getPopupPrototypeDisplayValue(JComboBox jc) {
return jc.getModel().getElementAt(
jc.getModel().getSize() - 1);
}
});
since: version 3.0 See Also: SubstanceLookAndFeel.COMBO_BOX_POPUP_FLYOUT_ORIENTATION |
CONFIG_FILE | final public static String CONFIG_FILE(Code) | | VM property name for the configuration file. If this property is
specified in the VM flags, all other global VM Substance-specific
settings are ignored and are read instead from the (local) configuration
file. The property value should point to a file in the regular
Properties format. Example of specifying configuration file:
-Dsubstancelaf.configFile=C:/myConfigSubstance.properties
since: version 2.2 |
CORNER_RADIUS | final public static String CORNER_RADIUS(Code) | | Client property name for specifying the corner radius for buttons.
Currently, this property is respected only on toolbar buttons. This
property can be set either as a client property on a specific toolbar
button, a client property on a specific toolbar (will hold for all
buttons in the toolbar) or as a global setting on
UIManager . The
value should be a
Float instance.
Example of specifying a (toolbar) button to have corner radius of 5
pixels:
JButton button = new JButton("text");
button.putClientProperty(SubstanceLookAndFeel.CORNER_RADIUS,
Float.valueOf(5.0f));
Example of specifying all buttons of a toolbar to have corner radius of 3
pixels:
JToolBar toolbar = new JToolBar("toolbar");
toolbar.putClientProperty(SubstanceLookAndFeel.CORNER_RADIUS,
Float.valueOf(3.0f));
Example of specifying all toolbar buttons to have corner radius of 0
pixels:
UIManager.put(SubstanceLookAndFeel.CORNER_RADIUS, Float.valueOf(0.0f));
since: version 3.0 |
DEBUG_UI_MODE | final public static String DEBUG_UI_MODE(Code) | | Property name for specifying the debug UI mode. Application running in
debug UI mode will have additional UI controls for inspecting / changing
the state of various controls. This property can be set as either VM flag
(no value needed) or as a global setting on
UIManager . In the
latter case, the value should be either
Boolean.TRUE or
Boolean.FALSE .
Example of setting this property via VM flag:
-Dsubstancelaf.debugUiMode
Example of setting this property on
UIManager :
UIManager.put(SubstanceLookAndFeel.DEBUG_UI_MODE, Boolean.TRUE);
since: version 3.1 |
FLAT_PROPERTY | final public static String FLAT_PROPERTY(Code) | | Property name for specifying that the component should be painted flat
(no background / border) when it's inactive. This property should be
specified on a specific component or its parent and must have either
Boolean.TRUE or
Boolean.FALSE value. For example, this is
how to mark a button to appear flat:
JButton button = new JButton("text");
button.putClientProperty(SubstanceLookAndFeel.FLAT_PROPERTY,
Boolean.TRUE);
since: version 3.0 See Also: SubstanceLookAndFeel.BUTTON_PAINT_NEVER_PROPERTY |
FOCUS_KIND | final public static String FOCUS_KIND(Code) | | Client property name for specifying the kind of focus indication on
buttons, check boxes and radio buttons. The value should be one of
SubstanceConstants.FocusKind enum. This property can be set
either as client property on some component or as global property on
UIManager .
In order to compute the kind of focus indication for some component, the
component's hierarchy is traversed bottom up. The first component that
has this property set, defines the focus indication kind. Finally, if
neither component not its ancestors define this property, the global
setting on
UIManager is checked. If there is no global setting,
the default
SubstanceConstants.FocusKind.ALL_INNER is used. Here
is an example to illustrate the above:
JPanel topPanel = new JPanel();
topPanel.putClientProperty(SubstanceLookAndFeel.FOCUS_KIND, FocusKind.UNDERLINE);
JPanel panel1 = new JPanel();
JButton b1 = new JButton("button1");
b1.putClientProperty(SubstanceLookAndFeel.FOCUS_KIND, FocusKind.TEXT);
JButton b2 = new JButton("button2");
JButton b3 = new JButton("button3");
b3.putClientProperty(SubstanceLookAndFeel.FOCUS_KIND, FocusKind.ALL_INNER);
panel1.add(b1);
panel1.add(b2);
topPanel.add(panel1);
topPanel.add(b3);
In the code above:
since: 2.2 See Also: SubstanceConstants.FocusKind |
GRIP_PAINTER | final public static String GRIP_PAINTER(Code) | | Property name for specifying custom grip handles. This applies to scroll
bars, split pane dividers and other relevant controls. The value should
be an instance of
GripPainter interface.
Example of marking a scroll pane to have custom grip handles on its
scroll bars:
JPanel myPanel = new JPanel();
JScrollPane jsp = new JScrollPane(myPanel);
myPanel.putClientProperty(SubstanceLookAndFeel.GRIP_PAINTER,
new DragBumpsGripPainter());
since: version 3.2 |
MENU_GUTTER_FILL_KIND | final public static String MENU_GUTTER_FILL_KIND(Code) | | Property name for specifying menu gutter fill kind. Menu gutter is the
part of the menu where checkmarks and icons are painted. The value should
be one of
MenuGutterFillKind enum. This property can be set
globally on the
UIManager . The default value is
MenuGutterFillKind.HARD .
Example of setting soft fill kind:
UIManager.put(SubstanceLookAndFeel.MENU_GUTTER_FILL_KIND, MenuGutterFillKind.SOFT);
since: version 3.2 |
NO_EXTRA_ELEMENTS | final public static String NO_EXTRA_ELEMENTS(Code) | | Property name for specifying that no extra UI elements (such as menu
items in system menu or menu search panel) should be shown. This property
can be set as either VM flag (no value needed) or as a global setting on
UIManager . In the latter case, the value should be either
Boolean.TRUE or
Boolean.FALSE . Partial list of UI
elements that will not be present when this property is specified:
- System menu items
- Menu search panel
- Lock icon on non-editable text components
Example of setting this property via VM flag:
-Dsubstancelaf.noExtraElements
Example of setting this property on
UIManager :
UIManager.put(SubstanceLookAndFeel.NO_EXTRA_ELEMENTS, Boolean.TRUE);
SwingUtilities.updateComponentTree(myFrame);
See Also: SubstanceLookAndFeel.toShowExtraElements since: version 2.1 |
OVERLAY_PROPERTY | final public static String OVERLAY_PROPERTY(Code) | | Client property name for specifying that a single control / all
application controls have overlay functionality. This property can be set
either as a client property on a specific control or as a global setting
on
UIManager . The value should be either
Boolean.TRUE or
Boolean.FALSE .
Example of marking a scroll pane to have overlays on the scroll bars:
JPanel myPanel = new JPanel();
JScrollPane jsp = new JScrollPane(myPanel);
myPanel.putClientProperty(SubstanceLookAndFeel.OVERLAY_PROPERTY,
Boolean.TRUE);
Example of marking all application controls to have overlays:
UIManager.put(SubstanceLookAndFeel.OVERLAY_PROPERTY,
Boolean.TRUE);
since: version 3.2 |
PAINT_ACTIVE_PROPERTY | final public static String PAINT_ACTIVE_PROPERTY(Code) | | Client property name for specifying that a single control / all
application controls should always be painted in active color (unless a
control is disabled). This property can be set either as a client
property on a specific control or as a global setting on
UIManager . The value should be either
Boolean.TRUE or
Boolean.FALSE .
Example of marking a button to be painted active:
JButton button = new JButton("text");
button.putClientProperty(SubstanceLookAndFeel.PAINT_ACTIVE_PROPERTY,
Boolean.TRUE);
Example of marking all application controls to be painted active:
UIManager.put(SubstanceLookAndFeel.PAINT_ACTIVE_PROPERTY,
Boolean.TRUE);
since: version 3.0 |
PASSWORD_ECHO_PER_CHAR | final public static String PASSWORD_ECHO_PER_CHAR(Code) | | Client property name for specifying the number of echo characters for
each password character. The value should be an instance of
Integer , otherwise will be ignored. This property can be set
either on a specific
JPasswordField or globally on
UIManager .
Example of having all password fields echo 3 characters per each typed
user character:
UIManager.put(SubstanceLookAndFeel.PASSWORD_ECHO_PER_CHAR,
new Integer(3));
Example of having a specific password field echo 2 characters per each
typed user character:
JPasswordField jpf = new JPasswordField();
jpf.putClientProperty(SubstanceLookAndFeel.PASSWORD_ECHO_PER_CHAR,
new Integer(2));
since: version 2.2 |
PLUGIN_XML | final public static String PLUGIN_XML(Code) | | The name of plugin configuration XML resource name. This is used for the
laf-plugin support layer
of third-party components.
|
SCROLL_PANE_BUTTONS_POLICY | final public static String SCROLL_PANE_BUTTONS_POLICY(Code) | | Client property name for specifying scroll pane button policy. This
property can be set on either a specific
JScrollPane or globally
on
UIManager . The value should be one of the
SubstanceConstants.ScrollPaneButtonPolicyKind enum. Example of
setting a scroll pane with a custom button policy:
JScrollPane jsp = new JScrollPane(new JPanel());
jsp.putClientProperty(SubstanceLookAndFeel.SCROLL_PANE_BUTTONS_POLICY,
ScrollPaneButtonPolicyKind.MULTIPLE);
since: version 3.1 |
TABBED_PANE_CLOSE_BUTTONS_MODIFIED_ANIMATION | final public static String TABBED_PANE_CLOSE_BUTTONS_MODIFIED_ANIMATION(Code) | | Client property name for specifying that only the close button of a
marked-as-modified tab component should pulsate. This property can be
specified on a single tab component, on a
JTabbedPane itself
(will hold for all tab components that don't define this property) or on
UIManager . The value should be either
Boolean.TRUE or
Boolean.FALSE . By default, the animation on modified tabs is on
the entire tab rectangle. Note that this setting is only relevant for
tabs marked with
SubstanceLookAndFeel.WINDOW_MODIFIED property.
Example of setting that all tabs in the application will have modified
animation on close button:
UIManager.put(SubstanceLookAndFeel.TABBED_PANE_CLOSE_BUTTONS_MODIFIED_ANIMATION,
Boolean.TRUE);
A more complex example:
UIManager.put(SubstanceLookAndFeel.TABBED_PANE_CLOSE_BUTTONS_MODIFIED_ANIMATION,
Boolean.TRUE);
JTabbedPane jtpMain = new JTabbedPane();
JTabbedPane jtpSecondary = new JTabbedPane();
jtpSecondary.putClientProperty(SubstanceLookAndFeel.TABBED_PANE_CLOSE_BUTTONS_MODIFIED_ANIMATION,
Boolean.FALSE);
JPanel panelSecondary = new JPanel();
jtpMain.addTab(jtpSecondary);
jtpMain.addTab(panelSecondary);
JPanel tab1 = new JPanel();
JPanel tab2 = new JPanel();
tab2.putClientProperty(SubstanceLookAndFeel.TABBED_PANE_CLOSE_BUTTONS_MODIFIED_ANIMATION,
Boolean.TRUE);
jtpSecondary.addTab(tab1);
jtpSecondary.addTab(tab2);
In the example above, the first first-level child (jtpSecondary)
has the animation on the entire tab (since it overrides the global
setting). The second first-level child tab (panelSecondary) has
animation on the close button (from the global UIManager
setting). The first second-level tab has the animation on the entire tab
(setting inherited from the parent jtpSecondary tab that
overrides the global setting). The second second-level tab has animation
on the close button (since its setting overrides the parent setting).
since: version 2.2 See Also: SubstanceLookAndFeel.TABBED_PANE_CLOSE_BUTTONS_PROPERTY See Also: SubstanceLookAndFeel.TABBED_PANE_CLOSE_CALLBACK |
TABBED_PANE_CLOSE_BUTTONS_PROPERTY | final public static String TABBED_PANE_CLOSE_BUTTONS_PROPERTY(Code) | | Client property name for specifying that a single tab / all tabs of a
single tabbed pane / all tabs of all tabbed panes should have close
buttons. This property can be specified on a single tab component, on a
JTabbedPane itself (will hold for all tab components that don't
define this property) or on
UIManager . The value should be
either
Boolean.TRUE or
Boolean.FALSE . By default, the
close buttons are not displayed.
Example of setting that all tabs in the application will have close
buttons:
UIManager.put(SubstanceLookAndFeel.TABBED_PANE_CLOSE_BUTTONS_PROPERTY,
Boolean.TRUE);
A more complex example:
UIManager.put(SubstanceLookAndFeel.TABBED_PANE_CLOSE_BUTTONS_PROPERTY,
Boolean.TRUE);
JTabbedPane jtpMain = new JTabbedPane();
JTabbedPane jtpSecondary = new JTabbedPane();
jtpSecondary.putClientProperty(SubstanceLookAndFeel.TABBED_PANE_CLOSE_BUTTONS_PROPERTY,
Boolean.FALSE);
JPanel panelSecondary = new JPanel();
jtpMain.addTab(jtpSecondary);
jtpMain.addTab(panelSecondary);
JPanel tab1 = new JPanel();
JPanel tab2 = new JPanel();
tab2.putClientProperty(SubstanceLookAndFeel.TABBED_PANE_CLOSE_BUTTONS_PROPERTY,
Boolean.TRUE);
jtpSecondary.addTab(tab1);
jtpSecondary.addTab(tab2);
In the example above, the first first-level child (jtpSecondary)
doesn't have the close button (since it overrides the global setting).
The second first-level child tab (panelSecondary) has close
button (from the global UIManager setting). The first
second-level tab doesn't have the close button (setting inherited from
the parent jtpSecondary tab that overrides the global setting).
The second second-level tab has the close button (since its setting
overrides the parent setting).
since: version 2.1 See Also: SubstanceLookAndFeel.TABBED_PANE_CLOSE_BUTTONS_MODIFIED_ANIMATION See Also: SubstanceLookAndFeel.TABBED_PANE_CLOSE_CALLBACK |
TABBED_PANE_CLOSE_CALLBACK | final public static String TABBED_PANE_CLOSE_CALLBACK(Code) | | Client property name for specifying the callback for deciding on the tab
close type. This property can be specified on a single tab component, on
a
JTabbedPane itself (will hold for all tab components that don't
define this property) or on
UIManager . The value should be an
instance of
TabCloseCallback . Note that this setting is only
relevant for tabs marked with
SubstanceLookAndFeel.TABBED_PANE_CLOSE_BUTTONS_PROPERTY property.
Example of custom tab close callback set on a tabbed pane:
TabCloseCallback closeCallback = new TabCloseCallback() {
public TabCloseKind onAreaClick(JTabbedPane tabbedPane,
int tabIndex, MouseEvent mouseEvent) {
if (mouseEvent.getButton() != MouseEvent.BUTTON3)
return TabCloseKind.NONE;
if (mouseEvent.isShiftDown()) {
return TabCloseKind.ALL;
}
return TabCloseKind.THIS;
}
public TabCloseKind onCloseButtonClick(JTabbedPane tabbedPane,
int tabIndex, MouseEvent mouseEvent) {
if (mouseEvent.isAltDown()) {
return TabCloseKind.ALL_BUT_THIS;
}
if (mouseEvent.isShiftDown()) {
return TabCloseKind.ALL;
}
return TabCloseKind.THIS;
}
public String getAreaTooltip(JTabbedPane tabbedPane, int tabIndex) {
return null;
}
public String getCloseButtonTooltip(JTabbedPane tabbedPane,
int tabIndex) {
StringBuffer result = new StringBuffer();
result.append("<html><body>");
result.append("Mouse click closes <b>"
+ tabbedPane.getTitleAt(tabIndex) + "</b> tab");
result.append("<br><b>Alt</b>-Mouse click closes all tabs but <b>"
+ tabbedPane.getTitleAt(tabIndex) + "</b> tab");
result.append("<br><b>Shift</b>-Mouse click closes all tabs");
result.append("</body></html>");
return result.toString();
}
};
JTabbedPane jtp = new JTabbedPane();
jtp.putClientProperty(
SubstanceLookAndFeel.TABBED_PANE_CLOSE_CALLBACK,
closeCallback);
since: version 2.3 |
TABBED_PANE_CONTENT_BORDER_KIND | final public static String TABBED_PANE_CONTENT_BORDER_KIND(Code) | | Client property name for specifying the content pane border kind. This
property can be specified either on a single
JTabbedPane or on
UIManager . The value should be one of
SubstanceConstants.TabContentPaneBorderKind enum. By default, the
border kind is
SubstanceConstants.TabContentPaneBorderKind.DOUBLE_FULL .
Example of setting that all tabbed panes in the application have single
full border (default setting prior to version 4.1):
UIManager.put(SubstanceLookAndFeel.TABBED_PANE_CONTENT_BORDER_KIND,
TabContentPaneBorderKind.SINGLE_FULL);
Example of specifying that the specific tabbed pane has single full
border (default setting prior to version 4.1):
JTabbedPane jtpMain = new JTabbedPane();
jtpMain.putClientProperty(SubstanceLookAndFeel.TABBED_PANE_CONTENT_BORDER_KIND,
TabContentPaneBorderKind.SINGLE_FULL);
since: version 4.1 |
TABBED_PANE_TEXT_ALIGNMENT_KIND | final public static String TABBED_PANE_TEXT_ALIGNMENT_KIND(Code) | | Client property name for specifying the text alignment kind for on
SwingConstants.LEFT and
SwingConstants.RIGHT tab
placements. This property can be specified either on a single
JTabbedPane or on
UIManager . The value should be one of
SubstanceConstants.TabTextAlignmentKind enum. By default, the
text alignment is
SubstanceConstants.TabTextAlignmentKind.DEFAULT (centered).
Example of setting that all tabbed panes in the application will follow
placement for the text alignment:
UIManager.put(SubstanceLookAndFeel.TABBED_PANE_TEXT_ALIGNMENT_KIND,
TabTextAlignmentKind.FOLLOW_PLACEMENT);
Example of specifying that the specific tabbed pane will follow placement
for the text alignment:
JTabbedPane jtpMain = new JTabbedPane();
jtpMain.putClientProperty(SubstanceLookAndFeel.TABBED_PANE_TEXT_ALIGNMENT_KIND,
TabTextAlignmentKind.FOLLOW_PLACEMENT);
since: version 2.3 |
TABBED_PANE_VERTICAL_ORIENTATION | final public static String TABBED_PANE_VERTICAL_ORIENTATION(Code) | | Client property name for specifying that a single tabbed pane / all
tabbed panes should have vertical layout (rotated tabs) on
SwingConstants.LEFT and
SwingConstants.RIGHT tab
placements. This property can be specified either on a single
JTabbedPane or on
UIManager . The value should be either
Boolean.TRUE or
Boolean.FALSE . By default, the tab
orientation on all placements is horizontal.
Example of setting that all tabbed panes in the application will be
vertically oriented:
UIManager.put(SubstanceLookAndFeel.TABBED_PANE_VERTICAL_ORIENTATION,
Boolean.TRUE);
Example of specifying that the specific tabbed pane will be vertically
oriented:
JTabbedPane jtpMain = new JTabbedPane();
jtpMain.putClientProperty(SubstanceLookAndFeel.TABBED_PANE_VERTICAL_ORIENTATION,
Boolean.TRUE);
since: version 2.2 See Also: SubstanceLookAndFeel.TABBED_PANE_VERTICAL_ORIENTATION_ROTATE_ICONS |
TABBED_PANE_VERTICAL_ORIENTATION_ROTATE_ICONS | final public static String TABBED_PANE_VERTICAL_ORIENTATION_ROTATE_ICONS(Code) | | Client property name for specifying that when a single tabbed pane / all
tabbed panes is layed-out vertically, the tab icons remain unrotated.This
property can be specified on a single tab component, on a
JTabbedPane itself (will hold for all tab components that don't
define this property) or on
UIManager . The value should be
either
Boolean.TRUE or
Boolean.FALSE . By default, the
vertically oriented tabs will have the rotated icons. In case the icon
internal layout has horizontal / vertical meaning, using this property
with value
Boolean.TRUE will preserve the icon orientation. Note
that this setting is only relevant for tabs marked with
SubstanceLookAndFeel.TABBED_PANE_VERTICAL_ORIENTATION property.
Example of setting that all vertically-oriented tabs in the application
will have unrotated icons:
UIManager.put(SubstanceLookAndFeel.TABBED_PANE_VERTICAL_ORIENTATION_ROTATE_ICONS,
Boolean.TRUE);
An example of tabbed pane with two different kinds of icon orientation:
UIManager.put(SubstanceLookAndFeel.TABBED_PANE_VERTICAL_ORIENTATION_ROTATE_ICONS,
Boolean.TRUE);
JTabbedPane jtp = new JTabbedPane();
jtp.setTabPlacement(SwingConstants.LEFT);
JPanel tab1 = new JPanel();
JPanel tab2 = new JPanel();
tab2.putClientProperty(SubstanceLookAndFeel.TABBED_PANE_VERTICAL_ORIENTATION_ROTATE_ICONS,
Boolean.FALSE);
jtp.addTab(tab1);
jtp.addTab(tab2);
In the example above, the first tab (tab1) has the
horizontally-oriented icon (the same as with
SwingConstants.TOP or
SwingConstants.BOTTOM ) , while the second tab (tab2)
has the rotated icon (oriented along the tab text).
since: version 2.2 See Also: SubstanceLookAndFeel.TABBED_PANE_VERTICAL_ORIENTATION |
TRACE_FILE | final public static String TRACE_FILE(Code) | | VM property name for specifying the trace file. The trace file will
contain output of the memory analyser which can be used to pinpoint the
memory leaks. The property value is used as a filename for tracing the
memory allocations. Example for specifying the trace file name:
-Dsubstancelaf.traceFile=C:/temp/myApp.substance.log
See Also: MemoryAnalyzer since: version 2.0 |
TREE_DECORATIONS_ANIMATION_KIND | final public static FadeKind TREE_DECORATIONS_ANIMATION_KIND(Code) | |
Fade kind for tree decorations animation kind. Disabled by default, use
FadeConfigurationManager.allowFades(FadeKind) to enable.
Tree decorations include collapse / expand icons and vertical /
horizontal lines.
since: version 3.3 |
TREE_SMART_SCROLL_ANIMATION_KIND | final public static FadeKind TREE_SMART_SCROLL_ANIMATION_KIND(Code) | | Fade kind for smart tree scroll. Disabled by default, use
FadeConfigurationManager.allowFades(FadeKind) to enable.
Smart tree scroll is relevant for scroll panes containing a tree. When
enabled, it automatically scrolls the tree horizontally when the viewport
shows mainly empty area (especially relevant for multi-level trees with
narrow viewports).
since: 4.0 |
USE_THEMED_DEFAULT_ICONS | final public static String USE_THEMED_DEFAULT_ICONS(Code) | |
Client property name for specifying that icons on buttons and toggle
buttons should match the color of the current theme when they are in
default state. The button is in default state when it's not pressed, not
selected, not armed and not rolled over. The value should be an instance
of
Boolean . By default, all buttons show regular (full-color
original) icons. The value can be set on the specific button or globally
on
UIManager .
Example of marking a button to have theme-matching icon in default state:
JButton jb = new JButton("sample", myIcon);
jb.putClientProperty(SubstanceLookAndFeel.USE_THEMED_DEFAULT_ICONS,
Boolean.TRUE);
since: version 3.3 |
WATERMARK_IGNORE | final public static String WATERMARK_IGNORE(Code) | | Client property name for requesting that watermark should not be painted
on the component and its descendants. This property can be set either as
client property on some component or as global property on
UIManager . The value should be either
Boolean.TRUE or
Boolean.FALSE .
In order to compute whether the current watermark should be painted on
some component, the component's hierarchy is traversed bottom up. The
first component that has this property set, defines the watermark
visibility. Finally, if neither component not its ancestors define this
property, the global setting on
UIManager is checked. If there is
no global setting, the watermark is not ignored (it is painted).
Here is an example to illustrate the above:
JPanel topPanel = new JPanel();
topPanel.putClientProperty(SubstanceLookAndFeel.WATERMARK_IGNORE,
Boolean.TRUE);
JPanel panel1 = new JPanel();
JPanel panel2 = new JPanel();
panel2.putClientProperty(SubstanceLookAndFeel.WATERMARK_IGNORE,
Boolean.FALSE);
JTextField tf1 = new JTextField("field1");
tf1.putClientProperty(SubstanceLookAndFeel.WATERMARK_IGNORE, Boolean.TRUE);
JTextField tf2 = new JTextField("field2");
panel1.add(tf1);
panel1.add(tf2);
topPanel.add(panel1);
topPanel.add(panel2);
In the code above, if
UIManager has no value for this property,
the watermark will be painted only on panel2 and tf1. The
panel1 and tf2 "inherit" the watermark-ignore setting
from their topPanel ancestor.
since: version 2.2 |
WATERMARK_TO_BLEED | final public static String WATERMARK_TO_BLEED(Code) | | Property name for requesting that watermark should bleed through lists,
trees and tables. This is both a JVM flag and a client property on
UIManager (global setting).
When this property is used as a JVM flag, there is no need to specify any
value:
-Dsubstancelaf.watermark.tobleed
When this property is set a client property on
UIManager , the
value should be one of
Boolean.TRUE or
Boolean.FALSE .
For example,
UIManager.put(SubstanceLookAndFeel.WATERMARK_TO_BLEED, Boolean.TRUE);
since: version 2.2 |
WINDOW_MODIFIED | final public static String WINDOW_MODIFIED(Code) | | Client property name for specifying that contents of some frame, dialog,
internal frame, desktop icon or tab have been modified and not saved. The
property can be set on:
-
JInternalFrame - the close button of the specific
internal frame will be animated (in case that the internal frame has
decorated title pane). In addition, once such internal frame is iconified
(to a
JInternalFrame.JDesktopIcon ), the close button of the
matching desktop icon is animated as well.
-
JRootPane - the close button of the title pane of
the matching frame / dialog will be animated (in case that the frame /
dialog have decorated title pane).
-
JComponent in a
JTabbedPane . Based on the
SubstanceLookAndFeel.TABBED_PANE_CLOSE_BUTTONS_MODIFIED_ANIMATION property presence,
either the entire tab or its close button area is animated. In this case,
this property must be set on the tab component itself, not on one
of its child components.
The animation cycles between red, orange and yellow themes. In most cases
(all but tabs not marked with
SubstanceLookAndFeel.TABBED_PANE_CLOSE_BUTTONS_MODIFIED_ANIMATION property), the
animation will be visible only when the mouse hovers over the close
button of the matching container (frame, dialog, internal frame, desktop
icon, tab). The tooltip of the close button is changed as well to reflect
that the container contents are marked as modified.
Here is a sample text editing application that illustrates the use of
this property. Once the contents of the text pane are changed, the frame
is marked as modified. The Save button marks the frame as
not-modified. In the real application, the listener on this button will
need to persist the changes as well.
public class Changer extends JFrame {
public Changer() {
super("Changer");
this.setLayout(new BorderLayout());
JTextPane textArea = new JTextPane();
this.add(textArea, BorderLayout.CENTER);
textArea.getDocument().addDocumentListener(new
DocumentListener() {
private void handleChange() {
getRootPane().putClientProperty(
SubstanceLookAndFeel.WINDOW_MODIFIED,
Boolean.TRUE);
}
public void
changedUpdate(DocumentEvent e) {
handleChange();
}
public void
insertUpdate(DocumentEvent e) {
handleChange();
}
public void
removeUpdate(DocumentEvent e) {
handleChange();
}
});
JPanel buttons = new JPanel(new
FlowLayout(FlowLayout.RIGHT));
JButton saveButton = new JButton("Save");
saveButton.addActionListener(new ActionListener() {
public void
actionPerformed(ActionEvent e) {
getRootPane().putClientProperty(
SubstanceLookAndFeel.WINDOW_MODIFIED,
Boolean.FALSE);
}
});
buttons.add(saveButton);
this.add(buttons, BorderLayout.SOUTH);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String ... args) {
try {
UIManager.setLookAndFeel(new
SubstanceLookAndFeel());
}
catch (Exception exc) {}
JFrame.setDefaultLookAndFeelDecorated(true);
Changer ch = new Changer();
ch.setPreferredSize(new Dimension(200, 200));
ch.setSize(ch.getPreferredSize());
ch.setLocationRelativeTo(null);
ch.setVisible(true);
} }
since: version 2.1 |
borderPainterPlugins | protected static PluginManager borderPainterPlugins(Code) | | Plugin manager for border painter plugins.
|
componentPlugins | protected static ComponentPluginManager componentPlugins(Code) | | Plugin manager for component plugins.
|
currentKeyboardFocusManager | protected KeyboardFocusManager currentKeyboardFocusManager(Code) | | The current keyboard focus manager - fix for defect 208.
|
focusOwnerChangeListener | protected PropertyChangeListener focusOwnerChangeListener(Code) | | Change listener on keyboard focus manager - fix for defect 208.
|
ignoreAnimationsSet | protected static Set<String> ignoreAnimationsSet(Code) | | Contains a list of all control class names that should ignore the
animations.
|
painterPlugins | protected static PluginManager painterPlugins(Code) | | Plugin manager for gradient painter plugins.
|
shaperPlugins | protected static PluginManager shaperPlugins(Code) | | Plugin manager for button shaper plugins.
|
skinPlugins | protected static PluginManager skinPlugins(Code) | | Plugin manager for skin plugins.
|
themePlugins | protected static PluginManager themePlugins(Code) | | Plugin manager for theme plugins.
|
titlePainterPlugins | protected static PluginManager titlePainterPlugins(Code) | | Plugin manager for title painter plugins.
|
watermarkPlugins | protected static PluginManager watermarkPlugins(Code) | | Plugin manager for watermark plugins.
|
SubstanceLookAndFeel | public SubstanceLookAndFeel()(Code) | | Creates new instance of Substance look and feel.
|
getAllBorderPainters | public static Map<String, BorderPainterInfo> getAllBorderPainters()(Code) | | Returns all available border painters.
All available border painters. Key - border painter name, value -border painter information. since: version 4.0 |
getAllButtonShapers | public static Map<String, ButtonShaperInfo> getAllButtonShapers()(Code) | | Returns all available button shapers.
All available button shapers. Key - button shaper name, value -button shaper information. |
getAllGradientPainters | public static Map<String, GradientPainterInfo> getAllGradientPainters()(Code) | | Returns all available gradient painters.
All available gradient painters. Key - gradient painter name,value - gradient painter information. |
getAllSkins | public static Map<String, SkinInfo> getAllSkins()(Code) | | Returns all available skins.
All available skins. Key - skin display name, value - skininformation. |
getAllTabCloseListeners | public static Set<BaseTabCloseListener> getAllTabCloseListeners()(Code) | | Returns the set of all listeners registered on tab-close events on all
tabbed panes.
Set of all listeners registered on tab-close events on alltabbed panes. |
getAllTabCloseListeners | public static Set<BaseTabCloseListener> getAllTabCloseListeners(JTabbedPane tabbedPane)(Code) | | Returns all listeners registered on tab closing of the specified tabbed
pane.
Parameters: tabbedPane - A tabbed pane. If null , all globallyregistered tab close listeners are returned. All listeners registered on tab closing of the specified tabbedpane. |
getAllThemes | public static Map<String, ThemeInfo> getAllThemes()(Code) | | Returns all available themes.
All available color themes. Key - theme name, value - themeinformation. |
getAllWatermarks | public static Map<String, WatermarkInfo> getAllWatermarks()(Code) | | Returns all available watermarks.
All available watermarks. Key - watermark name, value - watermarkinformation. |
getBackgroundComposite | public static synchronized ControlBackgroundComposite getBackgroundComposite(Component component)(Code) | | Returns the default background composite for the specified component.
Parameters: component - Component. The default background composite for the specified component. |
getLabelBundle | public static synchronized ResourceBundle getLabelBundle(Locale locale)(Code) | | Retrieves the label bundle for the specified locale.
Parameters: locale - Locale. The label bundle for the specified locale. |
getLocaleListeners | public static Set<LocaleChangeListener> getLocaleListeners()(Code) | | Returns all listeners registered on locale change.
All listeners registered on locale change. |
getParamReader | public static ParamReader getParamReader()(Code) | | Returns the parameter reader.
Parameter reader. |
getPlugins | public static Set getPlugins()(Code) | | Returns all available plugins. Each entry is
LafPlugin .
All available plugins. |
getSupportsWindowDecorations | public boolean getSupportsWindowDecorations()(Code) | | |
getTitlePaneComponent | public static JComponent getTitlePaneComponent(Window window)(Code) | | Returns the title pane of the specified top-level window.
Parameters: window - Top-level window. If the parameter is either JFrame or JDialog andhas custom decorations, the result is the title pane,null otherwise. since: version 3.1 |
ignoreAnimationsOnClass | public static void ignoreAnimationsOnClass(Class> componentClazz)(Code) | | Requests that animations be ignored on all instances of the specified
class.
Parameters: componentClazz - Component class. |
ignoreAnimationsOnClass | public static void ignoreAnimationsOnClass(String componentClazzName)(Code) | | Requests that animations be ignored on all instances of the specified
class.
Parameters: componentClazzName - Component class name. |
initComponentDefaults | protected void initComponentDefaults(UIDefaults table)(Code) | | |
initialize | public void initialize()(Code) | | |
isDebugUiMode | public static boolean isDebugUiMode()(Code) | | Returns indication whether the application is in debug UI mode.
true if the application is in debug UI mode,false otherwise. since: version 3.1 |
isNativeLookAndFeel | public boolean isNativeLookAndFeel()(Code) | | |
isSupportedLookAndFeel | public boolean isSupportedLookAndFeel()(Code) | | |
isToUseConstantThemesOnDialogs | public static boolean isToUseConstantThemesOnDialogs()(Code) | | Checks whether the JOptionPane s created with predefined
message types should use constant themes for the icons.
true if the JOptionPane s createdwith predefined message types should use constant themes for theicons, false otherwise. See Also: SubstanceLookAndFeel.setToUseConstantThemesOnDialogs(boolean) |
registerLocaleChangeListener | public static void registerLocaleChangeListener(LocaleChangeListener localeListener)(Code) | | Registers a new listener on locale change.
Parameters: localeListener - New listener on locale change. |
setBackgroundComposite | public static synchronized void setBackgroundComposite(Class> clazz, ControlBackgroundComposite composite)(Code) | | Specifies that a control of some class should use the specified
background composite when it (the control) doesn't define the
SubstanceLookAndFeel.BACKGROUND_COMPOSITE client property.
Parameters: clazz - Component class. Parameters: composite - Default background composite for controls of the specifiedclass. |
setToUseConstantThemesOnDialogs | public static void setToUseConstantThemesOnDialogs(boolean toUseConstantThemesOnDialogs)(Code) | | Sets the new setting for the icons of the JOptionPane s
created with predefined message types.
Parameters: toUseConstantThemesOnDialogs - if true , the JOptionPane screated with predefined message types should use constantthemes for the icons. See Also: SubstanceLookAndFeel.isToUseConstantThemesOnDialogs() |
showMenuSearchPanels | public static void showMenuSearchPanels()(Code) | | Shows menu search panels on all open frames. For each panel, the menu
search panel will be shown only if the corresponding settings allow it.
See Also: SubstanceLookAndFeel.hideMenuSearchPanels() |
stopThreads | public static void stopThreads()(Code) | | Stops all Substance threads. Use with extreme caution - improper use may
result in UI artifacts and runtime exceptions. In general, this method is
for internal use only.
|
toBleedWatermark | public static boolean toBleedWatermark()(Code) | | Returns indication whether the watermark should "bleed" through list,
table and tree renderers (where possible).
true if the watermark should "bleed" through list,table and tree renderers (where possible), false otherwise. |
toEnableInvertedThemes | public static boolean toEnableInvertedThemes()(Code) | | Returns indication whether inverted themes should be enabled.
true if inverted themes should be enabled,false otherwise. |
toEnableNegatedThemes | public static boolean toEnableNegatedThemes()(Code) | | Returns indication whether negated themes should be enabled.
true if negated themes should be enabled,false otherwise. |
toIgnoreAnimation | public static boolean toIgnoreAnimation(Class> componentClazz)(Code) | | Checks whether animations should be ignored on instances of the specified
class.
Parameters: componentClazz - Component class. true if animations should be ignored on instancesof the specified class, false otherwise. |
toShowExtraElements | public static boolean toShowExtraElements()(Code) | | Returns indication whether extra UI elements (such as menu items in
system menu or menu search panel) should be shown.
true if extra UI elements (such as menu items insystem menu or menu search panel) should be shown,false otherwise. |
uninitialize | public void uninitialize()(Code) | | |
unregisterLocaleChangeListener | public static void unregisterLocaleChangeListener(LocaleChangeListener localeListener)(Code) | | Unregisters a listener on locale change.
Parameters: localeListener - The listener to unregister. |
Methods inherited from javax.swing.LookAndFeel | public UIDefaults getDefaults()(Code)(Java Doc) abstract public String getDescription()(Code)(Java Doc) public static Object getDesktopPropertyValue(String systemPropertyName, Object fallbackValue)(Code)(Java Doc) public Icon getDisabledIcon(JComponent component, Icon icon)(Code)(Java Doc) public Icon getDisabledSelectedIcon(JComponent component, Icon icon)(Code)(Java Doc) abstract public String getID()(Code)(Java Doc) public LayoutStyle getLayoutStyle()(Code)(Java Doc) abstract public String getName()(Code)(Java Doc) public boolean getSupportsWindowDecorations()(Code)(Java Doc) public void initialize()(Code)(Java Doc) public static void installBorder(JComponent c, String defaultBorderName)(Code)(Java Doc) public static void installColors(JComponent c, String defaultBgName, String defaultFgName)(Code)(Java Doc) public static void installColorsAndFont(JComponent c, String defaultBgName, String defaultFgName, String defaultFontName)(Code)(Java Doc) public static void installProperty(JComponent c, String propertyName, Object propertyValue)(Code)(Java Doc) abstract public boolean isNativeLookAndFeel()(Code)(Java Doc) abstract public boolean isSupportedLookAndFeel()(Code)(Java Doc) public static void loadKeyBindings(InputMap retMap, Object[] keys)(Code)(Java Doc) public static ComponentInputMap makeComponentInputMap(JComponent c, Object[] keys)(Code)(Java Doc) public static Object makeIcon(Class> baseClass, String gifFile)(Code)(Java Doc) public static InputMap makeInputMap(Object[] keys)(Code)(Java Doc) public static JTextComponent.KeyBinding[] makeKeyBindings(Object[] keyBindingList)(Code)(Java Doc) public void provideErrorFeedback(Component component)(Code)(Java Doc) public String toString()(Code)(Java Doc) public void uninitialize()(Code)(Java Doc) public static void uninstallBorder(JComponent c)(Code)(Java Doc)
|
|
|
|