net.infonode.gui.laf
Class InfoNodeLookAndFeel

java.lang.Object
  extended by javax.swing.LookAndFeel
      extended by javax.swing.plaf.basic.BasicLookAndFeel
          extended by javax.swing.plaf.metal.MetalLookAndFeel
              extended by net.infonode.gui.laf.InfoNodeLookAndFeel
All Implemented Interfaces:
java.io.Serializable

public class InfoNodeLookAndFeel
extends javax.swing.plaf.metal.MetalLookAndFeel

A Look and Feel that's based on Metal. It's slimmer and use other colors than the standard Metal Look and Feel. Under Java 1.5 the currect Metal theme is stored when the InfoNode Look and Feel is applied, and restored when another Look and Feel is set. Under Java 1.4 or earlier it is not possible to get the current theme and a DefaultMetalTheme is set instead.

To set the look and feel use:

 UIManager.setLookAndFeel(new InfoNodeLookAndFeel());
 
Or, if you want to use a different theme, use:
 InfoNodeLookAndFeelTheme theme = new InfoNodeLookAndFeelTheme(...);
 // Modify the theme colors, fonts etc.
 UIManager.setLookAndFeel(new InfoNodeLookAndFeel(theme));
 
Do not modify the theme after it has been used in the look and feel!

Version:
$Revision: 1.22 $
Author:
$Author: jesper $
See Also:
Serialized Form

Nested Class Summary
private static class InfoNodeLookAndFeel.MyListCellRenderer
           
 
Field Summary
private  javax.swing.plaf.metal.DefaultMetalTheme defaultTheme
           
static javax.swing.UIManager.LookAndFeelInfo LOOK_AND_FEEL_INFO
           
private static javax.swing.plaf.metal.MetalTheme oldMetalTheme
           
private  InfoNodeLookAndFeelTheme theme
           
 
Constructor Summary
InfoNodeLookAndFeel()
          Constructor.
InfoNodeLookAndFeel(InfoNodeLookAndFeelTheme theme)
          Constructor.
 
Method Summary
 java.lang.String getDescription()
           
 java.lang.String getName()
           
 InfoNodeLookAndFeelTheme getTheme()
          Gets the active theme
protected  void initClassDefaults(javax.swing.UIDefaults table)
           
protected  void initComponentDefaults(javax.swing.UIDefaults table)
           
 void initialize()
           
static void install()
          Installs this look and feel with the UIManager, if it's not already installed.
 void uninitialize()
           
 
Methods inherited from class javax.swing.plaf.metal.MetalLookAndFeel
createDefaultTheme, getAcceleratorForeground, getAcceleratorSelectedForeground, getBlack, getControl, getControlDarkShadow, getControlDisabled, getControlHighlight, getControlInfo, getControlShadow, getControlTextColor, getControlTextFont, getCurrentTheme, getDefaults, getDesktopColor, getDisabledIcon, getDisabledSelectedIcon, getFocusColor, getHighlightedTextColor, getID, getInactiveControlTextColor, getInactiveSystemTextColor, getLayoutStyle, getMenuBackground, getMenuDisabledForeground, getMenuForeground, getMenuSelectedBackground, getMenuSelectedForeground, getMenuTextFont, getPrimaryControl, getPrimaryControlDarkShadow, getPrimaryControlHighlight, getPrimaryControlInfo, getPrimaryControlShadow, getSeparatorBackground, getSeparatorForeground, getSubTextFont, getSupportsWindowDecorations, getSystemTextColor, getSystemTextFont, getTextHighlightColor, getUserTextColor, getUserTextFont, getWhite, getWindowBackground, getWindowTitleBackground, getWindowTitleFont, getWindowTitleForeground, getWindowTitleInactiveBackground, getWindowTitleInactiveForeground, initSystemColorDefaults, isNativeLookAndFeel, isSupportedLookAndFeel, provideErrorFeedback, setCurrentTheme
 
Methods inherited from class javax.swing.plaf.basic.BasicLookAndFeel
createAudioAction, getAudioActionMap, loadSystemColors, playSound
 
Methods inherited from class javax.swing.LookAndFeel
getDesktopPropertyValue, installBorder, installColors, installColorsAndFont, installProperty, loadKeyBindings, makeComponentInputMap, makeIcon, makeInputMap, makeKeyBindings, toString, uninstallBorder
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

LOOK_AND_FEEL_INFO

public static final javax.swing.UIManager.LookAndFeelInfo LOOK_AND_FEEL_INFO

oldMetalTheme

private static javax.swing.plaf.metal.MetalTheme oldMetalTheme

theme

private transient InfoNodeLookAndFeelTheme theme

defaultTheme

private transient javax.swing.plaf.metal.DefaultMetalTheme defaultTheme
Constructor Detail

InfoNodeLookAndFeel

public InfoNodeLookAndFeel()
Constructor.


InfoNodeLookAndFeel

public InfoNodeLookAndFeel(InfoNodeLookAndFeelTheme theme)
Constructor.

Parameters:
theme - the theme to use. Do not modify the theme after this constructor has been called!
Method Detail

getTheme

public InfoNodeLookAndFeelTheme getTheme()
Gets the active theme

Returns:
the active theme

initialize

public void initialize()
Overrides:
initialize in class javax.swing.plaf.basic.BasicLookAndFeel

uninitialize

public void uninitialize()
Overrides:
uninitialize in class javax.swing.plaf.basic.BasicLookAndFeel

getName

public java.lang.String getName()
Overrides:
getName in class javax.swing.plaf.metal.MetalLookAndFeel

getDescription

public java.lang.String getDescription()
Overrides:
getDescription in class javax.swing.plaf.metal.MetalLookAndFeel

initClassDefaults

protected void initClassDefaults(javax.swing.UIDefaults table)
Overrides:
initClassDefaults in class javax.swing.plaf.metal.MetalLookAndFeel

initComponentDefaults

protected void initComponentDefaults(javax.swing.UIDefaults table)
Overrides:
initComponentDefaults in class javax.swing.plaf.metal.MetalLookAndFeel

install

public static void install()
Installs this look and feel with the UIManager, if it's not already installed.