The base class for the JGoodies Plastic look&feel family.
Initializes class and component defaults for the Plastic L&f
and provides keys and optional features for the Plastic family.
BORDER_STYLE_KEY
public static final String BORDER_STYLE_KEY
Client property key to set a border style - shadows the header style.
DEFAULT_THEME_KEY
public static final String DEFAULT_THEME_KEY
A System property key to set the default theme.
HIGH_CONTRAST_FOCUS_ENABLED_KEY
public static final String HIGH_CONTRAST_FOCUS_ENABLED_KEY
A System property key that indicates that the high contrast
focus colors shall be choosen - if applicable.
If not set, some focus colors look good but have low contrast.
Basically, the low contrast scheme uses the Plastic colors
before 1.0.7, and the high contrast scheme is 1.0.7 - 1.0.9.
IS_3D_KEY
public static final String IS_3D_KEY
Client property key to disable the pseudo 3D effect.
TAB_STYLE_DEFAULT_VALUE
public static final String TAB_STYLE_DEFAULT_VALUE
A System property value that indicates that Plastic shall render
tabs in the Plastic 1.0 style. This is the default.
TAB_STYLE_KEY
protected static final String TAB_STYLE_KEY
A System property key for the rendering style of the Plastic
TabbedPane. Valid values are: default for the
Plastic 1.0 tabs, and metal for the Metal L&F tabs.
TAB_STYLE_METAL_VALUE
public static final String TAB_STYLE_METAL_VALUE
A System property value that indicates that Plastic shall
render tabs in the Metal L&F style.
createMyDefaultTheme
public static PlasticTheme createMyDefaultTheme()
Creates and returns the default color theme. Honors the current platform
and platform flavor - if available.
- the default color theme for the current environment
createTheme
protected static PlasticTheme createTheme(String themeName)
Creates and returns a color theme from the specified theme name.
themeName
- the unqualified name of the theme to create
- the associated color theme or
null
in case of
a problem
getControl
public static ColorUIResource getControl()
getControlDarkShadow
public static ColorUIResource getControlDarkShadow()
getControlHighlight
public static ColorUIResource getControlHighlight()
getDescription
public String getDescription()
getDisabledIcon
public Icon getDisabledIcon(JComponent component,
Icon icon)
Returns an icon with a disabled appearance. This method is used
to generate a disabled icon when one has not been specified.
This method will be used only on JDK 5.0 and later.
component
- the component that will display the icon, may be null.icon
- the icon to generate disabled icon from.
- disabled icon, or null if a suitable icon can not be generated.
getFocusColor
public static ColorUIResource getFocusColor()
getFontPolicy
public static FontPolicy getFontPolicy()
Looks up and retrieves the FontPolicy used
by the JGoodies Plastic Look&Feel family.
If a FontPolicy has been set, it'll be returned.
Otherwise, this method checks if a FontPolicy or FontSet is defined
in the system properties or UIDefaults. If so, it is returned.
If no FontPolicy has been set for this look, in the system
properties or UIDefaults, the default Plastic font policy
will be returned.
- the FontPolicy set for this Look&feel - if any,
the FontPolicy specified in the system properties or UIDefaults
- if any, or the default Plastic font policy.
getHighContrastFocusColorsEnabled
public static boolean getHighContrastFocusColorsEnabled()
getID
public String getID()
getInstalledThemes
public static List getInstalledThemes()
Lazily initializes and returns the List
of installed
color themes.
- a list of installed color/font themes
getInternalFrameBorder
public static BorderUIResource getInternalFrameBorder()
getMenuItemBackground
public static ColorUIResource getMenuItemBackground()
getMenuItemSelectedBackground
public static ColorUIResource getMenuItemSelectedBackground()
getMenuItemSelectedForeground
public static ColorUIResource getMenuItemSelectedForeground()
getMicroLayoutPolicy
public static MicroLayoutPolicy getMicroLayoutPolicy()
Looks up and retrieves the MicroLayoutPolicy used by
the JGoodies Plastic Look&Fs.
If a MicroLayoutPolicy has been set for this look, it'll be returned.
Otherwise, the default Plastic micro layout policy will be returned.
- the MicroLayoutPolicy set for this Look&feel - if any,
or the default Plastic MicroLayoutPolicy.
getName
public String getName()
getPaletteBorder
public static BorderUIResource getPaletteBorder()
getPlasticTheme
public static PlasticTheme getPlasticTheme()
Lazily initializes and returns the PlasticTheme.
In Java 5 or later, this method looks up the theme
using MetalLookAndFeel#getCurrentTheme
.
In Java 1.4 it is requested from the UIManager.
Both access methods use an AppContext to store the theme,
so that applets in different contexts don't share the theme.
getPrimaryControl
public static ColorUIResource getPrimaryControl()
getPrimaryControlDarkShadow
public static ColorUIResource getPrimaryControlDarkShadow()
getPrimaryControlHighlight
public static ColorUIResource getPrimaryControlHighlight()
getPrimaryControlInfo
public static ColorUIResource getPrimaryControlInfo()
getPrimaryControlShadow
public static ColorUIResource getPrimaryControlShadow()
getSimpleInternalFrameBackground
public static ColorUIResource getSimpleInternalFrameBackground()
getSimpleInternalFrameForeground
public static ColorUIResource getSimpleInternalFrameForeground()
getTabStyle
public static String getTabStyle()
getTitleTextColor
public static ColorUIResource getTitleTextColor()
getTitleTextFont
public static FontUIResource getTitleTextFont()
getWindowTitleBackground
public static ColorUIResource getWindowTitleBackground()
getWindowTitleForeground
public static ColorUIResource getWindowTitleForeground()
getWindowTitleInactiveBackground
public static ColorUIResource getWindowTitleInactiveBackground()
getWindowTitleInactiveForeground
public static ColorUIResource getWindowTitleInactiveForeground()
initClassDefaults
protected void initClassDefaults(UIDefaults table)
Initializes the class defaults, that is, overrides some UI delegates
with JGoodies Plastic implementations.
table
- the UIDefaults table to work with
javax.swing.plaf.basic.BasicLookAndFeel.getDefaults()
initComponentDefaults
protected void initComponentDefaults(UIDefaults table)
initSystemColorDefaults
protected void initSystemColorDefaults(UIDefaults table)
Unlike my superclass I register a unified shadow color.
This color is used by my ThinBevelBorder class.
table
- the UIDefaults table to work with
initialize
public void initialize()
Invoked during UIManager#setLookAndFeel
. In addition
to the superclass behavior, we install the ShadowPopupFactory.
installDefaultThemes
protected static void installDefaultThemes()
Install the default color themes.
installTheme
public static void installTheme(PlasticTheme theme)
Installs a color theme.
theme
- the theme to install
is3DEnabled
protected boolean is3DEnabled()
isSelectTextOnKeyboardFocusGained
public static boolean isSelectTextOnKeyboardFocusGained()
set3DEnabled
public static void set3DEnabled(boolean b)
setFontPolicy
public static void setFontPolicy(FontPolicy fontPolicy)
Sets the FontPolicy to be used with the JGoodies Plastic L&F
family. If the specified policy is null
, the default will
be reset.
fontPolicy
- the FontPolicy to be used with
the JGoodies Plastic L&F family, or null
to reset
to the default
setHighContrastFocusColorsEnabled
public static void setHighContrastFocusColorsEnabled(boolean b)
setMicroLayoutPolicy
public static void setMicroLayoutPolicy(MicroLayout microLayoutPolicy)
Sets the MicroLayoutPolicy to be used with the JGoodies Plastic L&Fs.
If the specified policy is null
, the default will be reset.
microLayoutPolicy
- the MicroLayoutPolicy to be used with
the JGoodies Plastic L&Fs, or null
to reset
to the default
setPlasticTheme
public static void setPlasticTheme(PlasticTheme theme)
Sets the theme for colors and fonts used by the Plastic L&F.
After setting the theme, you need to re-install the Look&Feel,
as well as update the UI's of any previously created components
- just as if you'd change the Look&Feel.
theme
- the PlasticTheme to be set
setSelectTextOnKeyboardFocusGained
public static void setSelectTextOnKeyboardFocusGained(boolean b)
Sets whether text field text shall be selected when it gains focus
via the keyboard. This is enabled on Windows by default and
disabled on all other platforms.
setTabStyle
public static void setTabStyle(String tabStyle)
uninitialize
public void uninitialize()
Invoked during UIManager#setLookAndFeel
. In addition
to the superclass behavior, we uninstall the ShadowPopupFactory.