- All Implemented Interfaces:
- Serializable
 Each of the ComponentUIs provided by 
 MetalLookAndFeel derives its behavior from the defaults
 table. Unless otherwise noted each of the ComponentUI
 implementations in this package document the set of defaults they
 use. Unless otherwise noted the defaults are installed at the time
 installUI is invoked, and follow the recommendations
 outlined in LookAndFeel for installing defaults.
 
 MetalLookAndFeel derives it's color palette and fonts from
 MetalTheme. The default theme is OceanTheme. The theme
 can be changed using the setCurrentTheme method, refer to it
 for details on changing the theme. Prior to 1.5 the default
 theme was DefaultMetalTheme. The system property
 "swing.metalTheme" can be set to "steel" to indicate
 the default should be DefaultMetalTheme.
 
 Warning:
 Serialized objects of this class will not be compatible with
 future Swing releases. The current serialization support is
 appropriate for short term storage or RMI between applications running
 the same version of Swing.  As of 1.4, support for long term storage
 of all JavaBeans
 has been added to the java.beans package.
 Please see XMLEncoder.
- See Also:
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionprotected voidEnsures the currentMetalThemeisnon-null.static ColorUIResourceReturns the accelerator foreground color of the current theme.static ColorUIResourceReturns the accelerator selected foreground color of the current theme.static ColorUIResourcegetBlack()Returns the black color of the current theme.static ColorUIResourceReturns the control color of the current theme.static ColorUIResourceReturns the control dark shadow color of the current theme.static ColorUIResourceReturns the control disabled color of the current theme.static ColorUIResourceReturns the control highlight color of the current theme.static ColorUIResourceReturns the control info color of the current theme.static ColorUIResourceReturns the control shadow color of the current theme.static ColorUIResourceReturns the control text color of the current theme.static FontUIResourceReturns the control text font of the current theme.static MetalThemeReturn the theme currently being used byMetalLookAndFeel.Returns the look and feel defaults.Returns a short description of this look and feel.static ColorUIResourceReturns the desktop color of the current theme.getDisabledIcon(JComponent component, Icon icon) Returns anIconwith a disabled appearance.getDisabledSelectedIcon(JComponent component, Icon icon) Returns anIconfor use by disabled components that are also selected.static ColorUIResourceReturns the focus color of the current theme.static ColorUIResourceReturns the highlighted text color of the current theme.getID()Returns an identifier for this look and feel.static ColorUIResourceReturns the inactive control text color of the current theme.static ColorUIResourceReturns the inactive system text color of the current theme.Returns aLayoutStyleimplementing the Java look and feel design guidelines.static ColorUIResourceReturns the menu background color of the current theme.static ColorUIResourceReturns the menu disabled foreground color of the current theme.static ColorUIResourceReturns the menu foreground color of the current theme.static ColorUIResourceReturns the menu selected background color of the current theme.static ColorUIResourceReturns the menu selected foreground color of the current theme.static FontUIResourceReturns the menu text font of the current theme.getName()Returns the name of this look and feel.static ColorUIResourceReturns the primary control color of the current theme.static ColorUIResourceReturns the primary control dark shadow color of the current theme.static ColorUIResourceReturns the primary control highlight color of the current theme.static ColorUIResourceReturns the primary control info color of the current theme.static ColorUIResourceReturns the primary control shadow color of the current theme.static ColorUIResourceReturns the separator background color of the current theme.static ColorUIResourceReturns the separator foreground color of the current theme.static FontUIResourceReturns the sub-text font of the current theme.booleanReturnstrue; metal can provideWindowdecorations.static ColorUIResourceReturns the system text color of the current theme.static FontUIResourceReturns the system text font of the current theme.static ColorUIResourceReturns the text highlight color of the current theme.static ColorUIResourceReturns the user text color of the current theme.static FontUIResourceReturns the user text font of the current theme.static ColorUIResourcegetWhite()Returns the white color of the current theme.static ColorUIResourceReturns the window background color of the current theme.static ColorUIResourceReturns the window title background color of the current theme.static FontUIResourceReturns the window title font of the current theme.static ColorUIResourceReturns the window title foreground color of the current theme.static ColorUIResourceReturns the window title inactive background color of the current theme.static ColorUIResourceReturns the window title inactive foreground color of the current theme.protected voidinitClassDefaults(UIDefaults table) Populatestablewith mappings fromuiClassIDto the fully qualified name of the ui class.protected voidinitComponentDefaults(UIDefaults table) Populatestablewith the defaults for metal.protected voidPopulatestablewith system colors.booleanReturnsfalse;MetalLookAndFeelis not a native look and feel.booleanReturnstrue;MetalLookAndFeelcan be run on any platform.voidprovideErrorFeedback(Component component) Invoked when the user attempts an invalid operation, such as pasting into an uneditableJTextFieldthat has focus.static voidsetCurrentTheme(MetalTheme theme) Set the theme used byMetalLookAndFeel.Methods declared in class javax.swing.plaf.basic.BasicLookAndFeelcreateAudioAction, getAudioActionMap, loadSystemColors, playSoundMethods declared in class javax.swing.LookAndFeelgetDesktopPropertyValue, initialize, installBorder, installColors, installColorsAndFont, installProperty, loadKeyBindings, makeComponentInputMap, makeIcon, makeInputMap, makeKeyBindings, toString, uninitialize, uninstallBorder
- 
Constructor Details- 
MetalLookAndFeelpublic MetalLookAndFeel()Constructs aMetalLookAndFeel.
 
- 
- 
Method Details- 
getNameReturns the name of this look and feel. This returns"Metal".- Specified by:
- getNamein class- LookAndFeel
- Returns:
- the name of this look and feel
 
- 
getIDReturns an identifier for this look and feel. This returns"Metal".- Specified by:
- getIDin class- LookAndFeel
- Returns:
- the identifier of this look and feel
 
- 
getDescriptionReturns a short description of this look and feel. This returns"The Java(tm) Look and Feel".- Specified by:
- getDescriptionin class- LookAndFeel
- Returns:
- a short description for the look and feel
 
- 
isNativeLookAndFeelpublic boolean isNativeLookAndFeel()Returnsfalse;MetalLookAndFeelis not a native look and feel.- Specified by:
- isNativeLookAndFeelin class- LookAndFeel
- Returns:
- false
 
- 
isSupportedLookAndFeelpublic boolean isSupportedLookAndFeel()Returnstrue;MetalLookAndFeelcan be run on any platform.- Specified by:
- isSupportedLookAndFeelin class- LookAndFeel
- Returns:
- true
- See Also:
 
- 
getSupportsWindowDecorationspublic boolean getSupportsWindowDecorations()Returnstrue; metal can provideWindowdecorations.- Overrides:
- getSupportsWindowDecorationsin class- LookAndFeel
- Returns:
- true
- Since:
- 1.4
- See Also:
 
- 
initClassDefaultsPopulatestablewith mappings fromuiClassIDto the fully qualified name of the ui class.MetalLookAndFeelregisters an entry for each of the classes in the packagejavax.swing.plaf.metalthat are named MetalXXXUI. The stringXXXis one of Swing's uiClassIDs. For theuiClassIDsthat do not have a class in metal, the corresponding class injavax.swing.plaf.basicis used. For example, metal does not have a class named"MetalColorChooserUI", as such,javax.swing.plaf.basic.BasicColorChooserUIis used.- Overrides:
- initClassDefaultsin class- BasicLookAndFeel
- Parameters:
- table- the- UIDefaultsinstance the entries are added to
- Throws:
- NullPointerException- if- tableis- null
- See Also:
 
- 
initSystemColorDefaultsPopulatestablewith system colors. The following values are added totable:
 The valueMetal's system color mapping Key Value "desktop" theme.getDesktopColor()"activeCaption" theme.getWindowTitleBackground()"activeCaptionText" theme.getWindowTitleForeground()"activeCaptionBorder" theme.getPrimaryControlShadow()"inactiveCaption" theme.getWindowTitleInactiveBackground()"inactiveCaptionText" theme.getWindowTitleInactiveForeground()"inactiveCaptionBorder" theme.getControlShadow()"window" theme.getWindowBackground()"windowBorder" theme.getControl()"windowText" theme.getUserTextColor()"menu" theme.getMenuBackground()"menuText" theme.getMenuForeground()"text" theme.getWindowBackground()"textText" theme.getUserTextColor()"textHighlight" theme.getTextHighlightColor()"textHighlightText" theme.getHighlightedTextColor()"textInactiveText" theme.getInactiveSystemTextColor()"control" theme.getControl()"controlText" theme.getControlTextColor()"controlHighlight" theme.getControlHighlight()"controlLtHighlight" theme.getControlHighlight()"controlShadow" theme.getControlShadow()"controlDkShadow" theme.getControlDarkShadow()"scrollbar" theme.getControl()"info" theme.getPrimaryControl()"infoText" theme.getPrimaryControlInfo()themecorresponds to the currentMetalTheme.- Overrides:
- initSystemColorDefaultsin class- BasicLookAndFeel
- Parameters:
- table- the- UIDefaultsobject the values are added to
- Throws:
- NullPointerException- if- tableis- null
- See Also:
 
- 
initComponentDefaultsPopulatestablewith the defaults for metal.- Overrides:
- initComponentDefaultsin class- BasicLookAndFeel
- Parameters:
- table- the- UIDefaultsto add the values to
- Throws:
- NullPointerException- if- tableis- null
 
- 
createDefaultThemeprotected void createDefaultTheme()Ensures the currentMetalThemeisnon-null. This is a cover method forgetCurrentTheme.- See Also:
 
- 
getDefaultsReturns the look and feel defaults. This invokes, in order,createDefaultTheme(),super.getDefaults()andgetCurrentTheme().addCustomEntriesToTable(table).While this method is public, it should only be invoked by the UIManagerwhen the look and feel is set as the current look and feel and afterinitializehas been invoked.- Overrides:
- getDefaultsin class- BasicLookAndFeel
- Returns:
- the look and feel defaults
- See Also:
 
- 
provideErrorFeedbackInvoked when the user attempts an invalid operation, such as pasting into an uneditableJTextFieldthat has focus. The default implementation beeps. Subclasses that wish different behavior should override this and provide the additional feedback.- Overrides:
- provideErrorFeedbackin class- LookAndFeel
- Parameters:
- component- the- Componentthe error occurred in, may be- nullindicating the error condition is not directly associated with a- Component
- Since:
- 1.4
 
- 
setCurrentThemeSet the theme used byMetalLookAndFeel.After the theme is set, MetalLookAndFeelneeds to be re-installed and the uis need to be recreated. The following shows how to do this:MetalLookAndFeel.setCurrentTheme(theme); // re-install the Metal Look and Feel UIManager.setLookAndFeel(new MetalLookAndFeel()); // Update the ComponentUIs for all Components. This // needs to be invoked for all windows. SwingUtilities.updateComponentTreeUI(rootComponent); If this is not done the results are undefined.- Parameters:
- theme- the theme to use
- Throws:
- NullPointerException- if- themeis- null
- See Also:
 
- 
getCurrentThemeReturn the theme currently being used byMetalLookAndFeel. If the current theme isnull, the default theme is created.- Returns:
- the current theme
- Since:
- 1.5
- See Also:
 
- 
getDisabledIconReturns anIconwith a disabled appearance. This method is used to generate a disabledIconwhen one has not been specified. For example, if you create aJButtonand only specify anIconviasetIconthis method will be called to generate the disabledIcon. If null is passed asiconthis method returns null.Some look and feels might not render the disabled Icon, in which case they will ignore this. - Overrides:
- getDisabledIconin class- LookAndFeel
- Parameters:
- component- JComponent that will display the Icon, may be null
- icon- Icon to generate disable icon from.
- Returns:
- Disabled icon, or null if a suitable Icon can not be generated.
- Since:
- 1.5
 
- 
getDisabledSelectedIconReturns anIconfor use by disabled components that are also selected. This method is used to generate anIconfor components that are in both the disabled and selected states but do not have a specificIconfor this state. For example, if you create aJButtonand only specify anIconviasetIconthis method will be called to generate the disabled and selectedIcon. If null is passed asiconthis method returns null.Some look and feels might not render the disabled and selected Icon, in which case they will ignore this. - Overrides:
- getDisabledSelectedIconin class- LookAndFeel
- Parameters:
- component- JComponent that will display the Icon, may be null
- icon- Icon to generate disabled and selected icon from.
- Returns:
- Disabled and Selected icon, or null if a suitable Icon can not be generated.
- Since:
- 1.5
 
- 
getControlTextFontReturns the control text font of the current theme. This is a cover method forgetCurrentTheme().getControlTextColor().- Returns:
- the control text font
- See Also:
 
- 
getSystemTextFontReturns the system text font of the current theme. This is a cover method forgetCurrentTheme().getSystemTextFont().- Returns:
- the system text font
- See Also:
 
- 
getUserTextFontReturns the user text font of the current theme. This is a cover method forgetCurrentTheme().getUserTextFont().- Returns:
- the user text font
- See Also:
 
- 
getMenuTextFontReturns the menu text font of the current theme. This is a cover method forgetCurrentTheme().getMenuTextFont().- Returns:
- the menu text font
- See Also:
 
- 
getWindowTitleFontReturns the window title font of the current theme. This is a cover method forgetCurrentTheme().getWindowTitleFont().- Returns:
- the window title font
- See Also:
 
- 
getSubTextFontReturns the sub-text font of the current theme. This is a cover method forgetCurrentTheme().getSubTextFont().- Returns:
- the sub-text font
- See Also:
 
- 
getDesktopColorReturns the desktop color of the current theme. This is a cover method forgetCurrentTheme().getDesktopColor().- Returns:
- the desktop color
- See Also:
 
- 
getFocusColorReturns the focus color of the current theme. This is a cover method forgetCurrentTheme().getFocusColor().- Returns:
- the focus color
- See Also:
 
- 
getWhiteReturns the white color of the current theme. This is a cover method forgetCurrentTheme().getWhite().- Returns:
- the white color
- See Also:
 
- 
getBlackReturns the black color of the current theme. This is a cover method forgetCurrentTheme().getBlack().- Returns:
- the black color
- See Also:
 
- 
getControlReturns the control color of the current theme. This is a cover method forgetCurrentTheme().getControl().- Returns:
- the control color
- See Also:
 
- 
getControlShadowReturns the control shadow color of the current theme. This is a cover method forgetCurrentTheme().getControlShadow().- Returns:
- the control shadow color
- See Also:
 
- 
getControlDarkShadowReturns the control dark shadow color of the current theme. This is a cover method forgetCurrentTheme().getControlDarkShadow().- Returns:
- the control dark shadow color
- See Also:
 
- 
getControlInfoReturns the control info color of the current theme. This is a cover method forgetCurrentTheme().getControlInfo().- Returns:
- the control info color
- See Also:
 
- 
getControlHighlightReturns the control highlight color of the current theme. This is a cover method forgetCurrentTheme().getControlHighlight().- Returns:
- the control highlight color
- See Also:
 
- 
getControlDisabledReturns the control disabled color of the current theme. This is a cover method forgetCurrentTheme().getControlDisabled().- Returns:
- the control disabled color
- See Also:
 
- 
getPrimaryControlReturns the primary control color of the current theme. This is a cover method forgetCurrentTheme().getPrimaryControl().- Returns:
- the primary control color
- See Also:
 
- 
getPrimaryControlShadowReturns the primary control shadow color of the current theme. This is a cover method forgetCurrentTheme().getPrimaryControlShadow().- Returns:
- the primary control shadow color
- See Also:
 
- 
getPrimaryControlDarkShadowReturns the primary control dark shadow color of the current theme. This is a cover method forgetCurrentTheme().getPrimaryControlDarkShadow().- Returns:
- the primary control dark shadow color
- See Also:
 
- 
getPrimaryControlInfoReturns the primary control info color of the current theme. This is a cover method forgetCurrentTheme().getPrimaryControlInfo().- Returns:
- the primary control info color
- See Also:
 
- 
getPrimaryControlHighlightReturns the primary control highlight color of the current theme. This is a cover method forgetCurrentTheme().getPrimaryControlHighlight().- Returns:
- the primary control highlight color
- See Also:
 
- 
getSystemTextColorReturns the system text color of the current theme. This is a cover method forgetCurrentTheme().getSystemTextColor().- Returns:
- the system text color
- See Also:
 
- 
getControlTextColorReturns the control text color of the current theme. This is a cover method forgetCurrentTheme().getControlTextColor().- Returns:
- the control text color
- See Also:
 
- 
getInactiveControlTextColorReturns the inactive control text color of the current theme. This is a cover method forgetCurrentTheme().getInactiveControlTextColor().- Returns:
- the inactive control text color
- See Also:
 
- 
getInactiveSystemTextColorReturns the inactive system text color of the current theme. This is a cover method forgetCurrentTheme().getInactiveSystemTextColor().- Returns:
- the inactive system text color
- See Also:
 
- 
getUserTextColorReturns the user text color of the current theme. This is a cover method forgetCurrentTheme().getUserTextColor().- Returns:
- the user text color
- See Also:
 
- 
getTextHighlightColorReturns the text highlight color of the current theme. This is a cover method forgetCurrentTheme().getTextHighlightColor().- Returns:
- the text highlight color
- See Also:
 
- 
getHighlightedTextColorReturns the highlighted text color of the current theme. This is a cover method forgetCurrentTheme().getHighlightedTextColor().- Returns:
- the highlighted text color
- See Also:
 
- 
getWindowBackgroundReturns the window background color of the current theme. This is a cover method forgetCurrentTheme().getWindowBackground().- Returns:
- the window background color
- See Also:
 
- 
getWindowTitleBackgroundReturns the window title background color of the current theme. This is a cover method forgetCurrentTheme().getWindowTitleBackground().- Returns:
- the window title background color
- See Also:
 
- 
getWindowTitleForegroundReturns the window title foreground color of the current theme. This is a cover method forgetCurrentTheme().getWindowTitleForeground().- Returns:
- the window title foreground color
- See Also:
 
- 
getWindowTitleInactiveBackgroundReturns the window title inactive background color of the current theme. This is a cover method forgetCurrentTheme().getWindowTitleInactiveBackground().- Returns:
- the window title inactive background color
- See Also:
 
- 
getWindowTitleInactiveForegroundReturns the window title inactive foreground color of the current theme. This is a cover method forgetCurrentTheme().getWindowTitleInactiveForeground().- Returns:
- the window title inactive foreground color
- See Also:
 
- 
getMenuBackgroundReturns the menu background color of the current theme. This is a cover method forgetCurrentTheme().getMenuBackground().- Returns:
- the menu background color
- See Also:
 
- 
getMenuForegroundReturns the menu foreground color of the current theme. This is a cover method forgetCurrentTheme().getMenuForeground().- Returns:
- the menu foreground color
- See Also:
 
- 
getMenuSelectedBackgroundReturns the menu selected background color of the current theme. This is a cover method forgetCurrentTheme().getMenuSelectedBackground().- Returns:
- the menu selected background color
- See Also:
 
- 
getMenuSelectedForegroundReturns the menu selected foreground color of the current theme. This is a cover method forgetCurrentTheme().getMenuSelectedForeground().- Returns:
- the menu selected foreground color
- See Also:
 
- 
getMenuDisabledForegroundReturns the menu disabled foreground color of the current theme. This is a cover method forgetCurrentTheme().getMenuDisabledForeground().- Returns:
- the menu disabled foreground color
- See Also:
 
- 
getSeparatorBackgroundReturns the separator background color of the current theme. This is a cover method forgetCurrentTheme().getSeparatorBackground().- Returns:
- the separator background color
- See Also:
 
- 
getSeparatorForegroundReturns the separator foreground color of the current theme. This is a cover method forgetCurrentTheme().getSeparatorForeground().- Returns:
- the separator foreground color
- See Also:
 
- 
getAcceleratorForegroundReturns the accelerator foreground color of the current theme. This is a cover method forgetCurrentTheme().getAcceleratorForeground().- Returns:
- the separator accelerator foreground color
- See Also:
 
- 
getAcceleratorSelectedForegroundReturns the accelerator selected foreground color of the current theme. This is a cover method forgetCurrentTheme().getAcceleratorSelectedForeground().- Returns:
- the accelerator selected foreground color
- See Also:
 
- 
getLayoutStyleReturns aLayoutStyleimplementing the Java look and feel design guidelines.- Overrides:
- getLayoutStylein class- LookAndFeel
- Returns:
- LayoutStyle implementing the Java look and feel design guidelines
- Since:
- 1.6
- See Also:
 
 
-