org.argouml.ui
Class LookAndFeelMgr

java.lang.Object
  extended byorg.argouml.ui.LookAndFeelMgr

public class LookAndFeelMgr
extends java.lang.Object

Controls the look and feel and theme of ArgoUML. LookAndFeelMgr has a "Look and Feel" property which represents the Swing Pluggable Look-and-feel. It also has a "Theme" property which represents a MetalTheme when the Metal look-and-feel is selected.


Field Summary
private  java.lang.String _defaultLafClass
          The class name of Swing's default look and feel (will be used if the LookAndFeel property is null).
private static javax.swing.plaf.metal.MetalTheme BIG_THEME
           
private static org.apache.log4j.Logger cat
           
private static java.lang.String DEFAULT_KEY
           
private static javax.swing.plaf.metal.MetalTheme DEFAULT_THEME
           
private static javax.swing.plaf.metal.MetalTheme HUGE_THEME
           
private static java.lang.String METAL_LAF
           
static LookAndFeelMgr SINGLETON
          Deprecated. in version 0.15.2. Use getInstance() instead.
private static javax.swing.plaf.metal.MetalTheme[] THEMES
           
 
Constructor Summary
private LookAndFeelMgr()
          Creates a new instance of LookAndFeelMgr.
 
Method Summary
 java.lang.String[] getAvailableLookAndFeelNames()
          Returns the display names of the available look and feel choices.
 java.lang.String[] getAvailableThemeNames()
          Returns the display names of the available theme choices.
 java.lang.String getCurrentLookAndFeel()
          Returns the string identifier for the current look and feel.
 java.lang.String getCurrentLookAndFeelName()
          Returns the display name of the current look and feel.
 java.lang.String getCurrentTheme()
          Returns the string identifier for the current theme.
 java.lang.String getCurrentThemeName()
          Returns the display name of the current theme.
static LookAndFeelMgr getInstance()
          get the single instance of the LookAndFeelMgr
 java.lang.String getLookAndFeelFromName(java.lang.String name)
          Returns the Look and Feel class name identifier for the specified display name, or null if no such Look and Feel is found.
private  javax.swing.plaf.metal.MetalTheme getMetalTheme(java.lang.String themeClass)
          Returns the MetalTheme for the specified class name.
 java.awt.Font getSmallFont()
           
 java.awt.Font getStandardFont()
           
 java.lang.String getThemeFromArg(java.lang.String arg)
          Detecting the theme from the command line.
 java.lang.String getThemeFromName(java.lang.String name)
          Returns the theme class name identifier for the specified display name, or null if no such theme is found.
 void initializeLookAndFeel()
          Sets the appearance of the UI using the current values of the LookAndFeel and Theme properties.
 boolean isThemeCompatibleLookAndFeel(java.lang.String lafClass)
          Returns true if the specified look and feel class supports setting different themes.
 void printThemeArgs()
          Outputs command-line arguments supported by this class.
 void setCurrentLookAndFeel(java.lang.String lafClass)
          Sets the current look and feel, storing the new value in Configuration.
 void setCurrentTheme(java.lang.String themeClass)
          Sets the current theme, storing the new value in Configuration.
private  void setLookAndFeel(java.lang.String lafClass)
          Sets the look and feel in the GUI by calling UIManager.setLookAndFeel().
private  void setTheme(javax.swing.plaf.metal.MetalTheme theme)
          Sets the metal theme in the GUI by calling MetalLookAndFeel.setCurrentTheme().
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SINGLETON

public static final LookAndFeelMgr SINGLETON
Deprecated. in version 0.15.2. Use getInstance() instead.


cat

private static org.apache.log4j.Logger cat

METAL_LAF

private static final java.lang.String METAL_LAF
See Also:
Constant Field Values

DEFAULT_KEY

private static final java.lang.String DEFAULT_KEY
See Also:
Constant Field Values

DEFAULT_THEME

private static final javax.swing.plaf.metal.MetalTheme DEFAULT_THEME

BIG_THEME

private static final javax.swing.plaf.metal.MetalTheme BIG_THEME

HUGE_THEME

private static final javax.swing.plaf.metal.MetalTheme HUGE_THEME

THEMES

private static final javax.swing.plaf.metal.MetalTheme[] THEMES

_defaultLafClass

private java.lang.String _defaultLafClass
The class name of Swing's default look and feel (will be used if the LookAndFeel property is null).

Constructor Detail

LookAndFeelMgr

private LookAndFeelMgr()
Creates a new instance of LookAndFeelMgr.

Method Detail

getInstance

public static LookAndFeelMgr getInstance()
get the single instance of the LookAndFeelMgr

Returns:
the single instance of the LookAndFeelMgr

initializeLookAndFeel

public void initializeLookAndFeel()
Sets the appearance of the UI using the current values of the LookAndFeel and Theme properties.


getThemeFromArg

public java.lang.String getThemeFromArg(java.lang.String arg)
Detecting the theme from the command line.


printThemeArgs

public void printThemeArgs()
Outputs command-line arguments supported by this class.


getAvailableLookAndFeelNames

public java.lang.String[] getAvailableLookAndFeelNames()
Returns the display names of the available look and feel choices.

Returns:
look and feel display names

getAvailableThemeNames

public java.lang.String[] getAvailableThemeNames()
Returns the display names of the available theme choices.

Returns:
theme display names

getLookAndFeelFromName

public java.lang.String getLookAndFeelFromName(java.lang.String name)
Returns the Look and Feel class name identifier for the specified display name, or null if no such Look and Feel is found.

Parameters:
name - display name of desired look and feel
Returns:
class name for desired look and feel

getThemeFromName

public java.lang.String getThemeFromName(java.lang.String name)
Returns the theme class name identifier for the specified display name, or null if no such theme is found.

Parameters:
name - display name of desired theme
Returns:
class name for desired theme

isThemeCompatibleLookAndFeel

public boolean isThemeCompatibleLookAndFeel(java.lang.String lafClass)
Returns true if the specified look and feel class supports setting different themes.

Parameters:
lafClass - look and feel class name
Returns:
true if supports themes

getCurrentLookAndFeel

public java.lang.String getCurrentLookAndFeel()
Returns the string identifier for the current look and feel. This is the class name of the LookAndFeel class for the look and feel. Returns null if no look and feel has been specified, in which case Swing's default look and feel should be used.

Returns:
current look and feel class name

getCurrentLookAndFeelName

public java.lang.String getCurrentLookAndFeelName()
Returns the display name of the current look and feel.

Returns:
look and feel display name

setCurrentLookAndFeel

public void setCurrentLookAndFeel(java.lang.String lafClass)
Sets the current look and feel, storing the new value in Configuration. If argument is null, indicates that Swing's default look and feel should be used.

Parameters:
lafClass - class name of desired look and feel

getCurrentTheme

public java.lang.String getCurrentTheme()
Returns the string identifier for the current theme. This is the class name of the MetalTheme class for the theme. This method should never return null.

Returns:
current theme class name

getCurrentThemeName

public java.lang.String getCurrentThemeName()
Returns the display name of the current theme.

Returns:
theme display name

setCurrentTheme

public void setCurrentTheme(java.lang.String themeClass)
Sets the current theme, storing the new value in Configuration. Argument should not be null, and argument class should be an instance of MetalTheme.

Parameters:
themeClass - class name of desired theme

getStandardFont

public java.awt.Font getStandardFont()

getSmallFont

public java.awt.Font getSmallFont()

setLookAndFeel

private void setLookAndFeel(java.lang.String lafClass)
Sets the look and feel in the GUI by calling UIManager.setLookAndFeel().

Parameters:
lafClass - class name of look and feel

setTheme

private void setTheme(javax.swing.plaf.metal.MetalTheme theme)
Sets the metal theme in the GUI by calling MetalLookAndFeel.setCurrentTheme().

Parameters:
theme - new MetalTheme to set

getMetalTheme

private javax.swing.plaf.metal.MetalTheme getMetalTheme(java.lang.String themeClass)
Returns the MetalTheme for the specified class name. Returns the default theme if a corresponding MetalTheme class can not be found.

Parameters:
themeClass - MetalTheme class name
Returns:
MetalTheme object for class name


ArgoUML © 1996-2004 (20040316)ArgoUML HomepageArgoUML Developers' pageArgoUML Cookbook