contrib.com.jgoodies.looks
Class Options

java.lang.Object
  extended by contrib.com.jgoodies.looks.Options

public final class Options
extends java.lang.Object

Provides access to several optional properties for the JGoodies L&Fs, either by a key to the UIDefaults table or via a method or both.

Version:
$Revision: 1.3 $
Author:
Karsten Lentzsch

Field Summary
static java.lang.String CONTROL_FONT_KEY
           
static java.lang.String DEFAULT_ICON_SIZE_KEY
           
static java.lang.String DEFAULT_LOOK_NAME
           
static java.lang.String EMBEDDED_TABS_KEY
          A client property key for JTabbedPanes that indicates that tabs are painted with a special embedded appearance.
static java.lang.String EXT_WINDOWS_NAME
          Deprecated. Replaced by JGOODIES_WINDOWS_NAME.
static java.lang.String FONT_SIZE_HINTS_KEY
           
static java.lang.String HEADER_STYLE_KEY
          Hint for the style: Single or Both, see HeaderStyle.
static java.lang.String IS_ETCHED_KEY
          Hint that the scroll pane border should be etched.
static java.lang.String IS_NARROW_KEY
          Hint that the button margin should be narrow.
static java.lang.String JGOODIES_WINDOWS_NAME
           
static java.lang.String MENU_FONT_KEY
           
static java.lang.String NO_CONTENT_BORDER_KEY
          A client property key for JTabbedPanes that indicates that no content border shall be painted.
static java.lang.String NO_ICONS_KEY
          Hint that the menu items in the menu have no icons.
static java.lang.String PLASTIC_NAME
           
static java.lang.String PLASTIC3D_NAME
           
static java.lang.String PLASTICXP_NAME
           
static java.lang.String POPUP_DROP_SHADOW_ENABLED_KEY
           
static java.lang.String TAB_ICONS_ENABLED_KEY
           
static java.lang.String TREE_LINE_STYLE_ANGLED_VALUE
          A client property value for JTrees that indicates that lines shall be drawn.
static java.lang.String TREE_LINE_STYLE_KEY
          A client property key for JTrees.
static java.lang.String TREE_LINE_STYLE_NONE_VALUE
          A client property value for JTrees that indicates that lines shall be hidden.
static java.lang.String USE_NARROW_BUTTONS_KEY
           
static java.lang.String USE_SYSTEM_FONTS_APP_KEY
           
static java.lang.String USE_SYSTEM_FONTS_KEY
           
 
Method Summary
static java.lang.String getCrossPlatformLookAndFeelClassName()
          Returns the class name for a cross-platform LookAndFeel.
static java.awt.Dimension getDefaultIconSize()
          Returns the default icon size that is used in menus, menu items and toolbars.
static FontSizeHints getGlobalFontSizeHints()
          Returns the global FontSizeHints that can be overriden by a look-specific setting.
static java.lang.String getReplacementClassNameFor(java.lang.String className)
          Returns the class name that can be used to replace the specified LookAndFeel class name.
static java.lang.String getSystemLookAndFeelClassName()
          Returns the class name for a system specific LookAndFeel.
static boolean getUseNarrowButtons()
          Checks and answers if we shall use narrow button margins of 4 pixels.
static boolean getUseSystemFonts()
          Returns whether a hint is set in the UIManager that indicates, that a look&feel may use the native system fonts.
static void initializeDefaultReplacements()
          Initializes some default class name replacements, that replace Sun's Java look and feel, and Sun's Windows look and feel by the appropriate JGoodies replacements.
static boolean isPopupDropShadowActive()
          Checks and answers whether popup drop shadows are active.
static boolean isPopupDropShadowEnabled()
          Checks and answers whether the optional drop shadows for PopupMenus are enabled or disabled.
static boolean isTabIconsEnabled()
          Checks and answers if we shall use icons in JTabbedPanes.
static void putLookAndFeelReplacement(java.lang.String original, java.lang.String replacement)
          Puts a replacement name for a given LookAndFeel class name in the list of all look and feel replacements.
static void removeLookAndFeelReplacement(java.lang.String original)
          Removes a replacement name for a given LookAndFeel class name from the list of all look and feel replacements.
static void setDefaultIconSize(java.awt.Dimension defaultIconSize)
          Sets the default icon size.
static void setGlobalFontSizeHints(FontSizeHints hints)
          Sets the global FontSizeHints.
static void setPopupDropShadowEnabled(boolean b)
          Enables or disables drop shadows in PopupMenus.
static void setTabIconsEnabled(boolean b)
          Enables or disables the use of icons in JTabbedPanes.
static void setUseNarrowButtons(boolean b)
          Sets if we use narrow or standard button margins.
static void setUseSystemFonts(boolean useSystemFonts)
          Sets a value in the UIManager to indicate, that a look&feel may use the native system fonts.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PLASTIC_NAME

public static final java.lang.String PLASTIC_NAME
See Also:
Constant Field Values

PLASTIC3D_NAME

public static final java.lang.String PLASTIC3D_NAME
See Also:
Constant Field Values

PLASTICXP_NAME

public static final java.lang.String PLASTICXP_NAME
See Also:
Constant Field Values

JGOODIES_WINDOWS_NAME

public static final java.lang.String JGOODIES_WINDOWS_NAME
See Also:
Constant Field Values

EXT_WINDOWS_NAME

public static final java.lang.String EXT_WINDOWS_NAME
Deprecated. Replaced by JGOODIES_WINDOWS_NAME.
This outdated constant will be removed in the Looks version 1.4.

See Also:
Constant Field Values

DEFAULT_LOOK_NAME

public static final java.lang.String DEFAULT_LOOK_NAME
See Also:
Constant Field Values

MENU_FONT_KEY

public static final java.lang.String MENU_FONT_KEY
See Also:
Constant Field Values

CONTROL_FONT_KEY

public static final java.lang.String CONTROL_FONT_KEY
See Also:
Constant Field Values

FONT_SIZE_HINTS_KEY

public static final java.lang.String FONT_SIZE_HINTS_KEY
See Also:
Constant Field Values

USE_SYSTEM_FONTS_KEY

public static final java.lang.String USE_SYSTEM_FONTS_KEY
See Also:
Constant Field Values

USE_SYSTEM_FONTS_APP_KEY

public static final java.lang.String USE_SYSTEM_FONTS_APP_KEY
See Also:
Constant Field Values

DEFAULT_ICON_SIZE_KEY

public static final java.lang.String DEFAULT_ICON_SIZE_KEY
See Also:
Constant Field Values

USE_NARROW_BUTTONS_KEY

public static final java.lang.String USE_NARROW_BUTTONS_KEY
See Also:
Constant Field Values

TAB_ICONS_ENABLED_KEY

public static final java.lang.String TAB_ICONS_ENABLED_KEY
See Also:
Constant Field Values

POPUP_DROP_SHADOW_ENABLED_KEY

public static final java.lang.String POPUP_DROP_SHADOW_ENABLED_KEY
See Also:
Constant Field Values

IS_NARROW_KEY

public static final java.lang.String IS_NARROW_KEY
Hint that the button margin should be narrow.

See Also:
Constant Field Values

IS_ETCHED_KEY

public static final java.lang.String IS_ETCHED_KEY
Hint that the scroll pane border should be etched.

See Also:
Constant Field Values

HEADER_STYLE_KEY

public static final java.lang.String HEADER_STYLE_KEY
Hint for the style: Single or Both, see HeaderStyle.

See Also:
Constant Field Values

NO_ICONS_KEY

public static final java.lang.String NO_ICONS_KEY
Hint that the menu items in the menu have no icons.

See Also:
Constant Field Values

TREE_LINE_STYLE_KEY

public static final java.lang.String TREE_LINE_STYLE_KEY
A client property key for JTrees. Used with the angled and none style values.

See Also:
Constant Field Values

TREE_LINE_STYLE_ANGLED_VALUE

public static final java.lang.String TREE_LINE_STYLE_ANGLED_VALUE
A client property value for JTrees that indicates that lines shall be drawn.

See Also:
Constant Field Values

TREE_LINE_STYLE_NONE_VALUE

public static final java.lang.String TREE_LINE_STYLE_NONE_VALUE
A client property value for JTrees that indicates that lines shall be hidden.

See Also:
Constant Field Values

NO_CONTENT_BORDER_KEY

public static final java.lang.String NO_CONTENT_BORDER_KEY
A client property key for JTabbedPanes that indicates that no content border shall be painted. Supported by the Plastic look&feel family. This effect will be achieved also if the EMBEDDED property is true.

See Also:
Constant Field Values

EMBEDDED_TABS_KEY

public static final java.lang.String EMBEDDED_TABS_KEY
A client property key for JTabbedPanes that indicates that tabs are painted with a special embedded appearance. Supported by the Plastic look&feel family. This effect will be achieved also if the EMBEDDED property is true.

See Also:
Constant Field Values
Method Detail

getUseSystemFonts

public static boolean getUseSystemFonts()
Returns whether a hint is set in the UIManager that indicates, that a look&feel may use the native system fonts.

Returns:
true if the UIManager indicates that system fonts shall be used
See Also:
setUseSystemFonts(boolean)

setUseSystemFonts

public static void setUseSystemFonts(boolean useSystemFonts)
Sets a value in the UIManager to indicate, that a look&feel may use the native system fonts.

Parameters:
useSystemFonts - true to enable system fonts in the UIManager
See Also:
getUseSystemFonts()

getDefaultIconSize

public static java.awt.Dimension getDefaultIconSize()
Returns the default icon size that is used in menus, menu items and toolbars. Menu items that have no icon set are aligned using the default icon dimensions.

Returns:
the dimension of the default icon
See Also:
setDefaultIconSize(Dimension)

setDefaultIconSize

public static void setDefaultIconSize(java.awt.Dimension defaultIconSize)
Sets the default icon size.

Parameters:
defaultIconSize - the default icon size to set
See Also:
getDefaultIconSize()

getGlobalFontSizeHints

public static FontSizeHints getGlobalFontSizeHints()
Returns the global FontSizeHints that can be overriden by a look-specific setting.

Returns:
the gobally used FontSizeHints object
See Also:
setGlobalFontSizeHints(FontSizeHints)

setGlobalFontSizeHints

public static void setGlobalFontSizeHints(FontSizeHints hints)
Sets the global FontSizeHints.

Parameters:
hints - the FontSizeHints object to be used globally
See Also:
getGlobalFontSizeHints()

getUseNarrowButtons

public static boolean getUseNarrowButtons()
Checks and answers if we shall use narrow button margins of 4 pixels. Sun's L&F implementations use a much wider button margin of 14 pixels, which leads to good button minimum width in the typical case.

Using narrow button margins can potentially cause compatibility issues, so this feature must be switched on programmatically.

If you use narrow margin, you should take care of minimum button width, either by the layout management or appropriate ButtonUI minimum widths.

Returns:
true if all buttons shall use narrow margins
See Also:
setUseNarrowButtons(boolean)

setUseNarrowButtons

public static void setUseNarrowButtons(boolean b)
Sets if we use narrow or standard button margins.

Parameters:
b - true to use narrow button margins globally
See Also:
getUseNarrowButtons()

isTabIconsEnabled

public static boolean isTabIconsEnabled()
Checks and answers if we shall use icons in JTabbedPanes. By default, tab icons are enabled. If the user has set a system property, we log a message about the choosen style.

Returns:
true if icons in tabbed panes are enabled, false if disabled
See Also:
setTabIconsEnabled(boolean)

setTabIconsEnabled

public static void setTabIconsEnabled(boolean b)
Enables or disables the use of icons in JTabbedPanes.

Parameters:
b - true to enable icons in tabbed panes, false to disable them
See Also:
isTabIconsEnabled()

isPopupDropShadowActive

public static boolean isPopupDropShadowActive()
Checks and answers whether popup drop shadows are active. This feature shall be inactive with toolkits that use native drop shadows, such as Aqua on the Mac OS X. It is also inactive if the ShadowPopup cannot snapshot the desktop background (due to security and AWT exceptions). Otherwise the feature's enablement state is returned.

Currently only the Mac OS X is detected as platform where the toolkit uses native drop shadows.

Returns:
true if drop shadows are active, false if inactive
See Also:
isPopupDropShadowEnabled(), setPopupDropShadowEnabled(boolean)

isPopupDropShadowEnabled

public static boolean isPopupDropShadowEnabled()
Checks and answers whether the optional drop shadows for PopupMenus are enabled or disabled.

Returns:
true if drop shadows are enabled, false if disabled
See Also:
isPopupDropShadowActive(), setPopupDropShadowEnabled(boolean)

setPopupDropShadowEnabled

public static void setPopupDropShadowEnabled(boolean b)
Enables or disables drop shadows in PopupMenus. Note that drop shadows are always inactive on platforms that provide native drop shadows such as the Mac OS X.

It is recommended to enable this feature only on platforms that accelerate translucency and snapshots with the hardware.

Parameters:
b - true to enable drop shadows, false to disable them
See Also:
isPopupDropShadowActive(), isPopupDropShadowEnabled()

putLookAndFeelReplacement

public static void putLookAndFeelReplacement(java.lang.String original,
                                             java.lang.String replacement)
Puts a replacement name for a given LookAndFeel class name in the list of all look and feel replacements.

Parameters:
original - the name of the look-and-feel to replace
replacement - the name of the replacement look-and-feel
See Also:
removeLookAndFeelReplacement(String), getReplacementClassNameFor(String)

removeLookAndFeelReplacement

public static void removeLookAndFeelReplacement(java.lang.String original)
Removes a replacement name for a given LookAndFeel class name from the list of all look and feel replacements.

Parameters:
original - the name of the look-and-feel that has been replaced
See Also:
putLookAndFeelReplacement(String, String), getReplacementClassNameFor(String)

initializeDefaultReplacements

public static void initializeDefaultReplacements()
Initializes some default class name replacements, that replace Sun's Java look and feel, and Sun's Windows look and feel by the appropriate JGoodies replacements.

See Also:
putLookAndFeelReplacement(String, String), removeLookAndFeelReplacement(String), getReplacementClassNameFor(String)

getReplacementClassNameFor

public static java.lang.String getReplacementClassNameFor(java.lang.String className)
Returns the class name that can be used to replace the specified LookAndFeel class name.

Parameters:
className - the name of the look-and-feel class
Returns:
the name of the suggested replacement class
See Also:
putLookAndFeelReplacement(String, String), removeLookAndFeelReplacement(String), initializeDefaultReplacements()

getCrossPlatformLookAndFeelClassName

public static java.lang.String getCrossPlatformLookAndFeelClassName()
Returns the class name for a cross-platform LookAndFeel.

Returns:
the name of a cross platform look-and-feel class
See Also:
getSystemLookAndFeelClassName()

getSystemLookAndFeelClassName

public static java.lang.String getSystemLookAndFeelClassName()
Returns the class name for a system specific LookAndFeel.

Returns:
the name of the system look-and-feel class
See Also:
getCrossPlatformLookAndFeelClassName()