public class

NimbusLookAndFeel

extends SynthLookAndFeel
java.lang.Object
   ↳ javax.swing.LookAndFeel
     ↳ javax.swing.plaf.basic.BasicLookAndFeel
       ↳ javax.swing.plaf.synth.SynthLookAndFeel
         ↳ com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel

Class Overview

The NimbusLookAndFeel class.

Summary

Public Constructors
NimbusLookAndFeel()
Create a new NimbusLookAndFeel.
Public Methods
UIDefaults getDefaults()
Returns the defaults for this SynthLookAndFeel.
Color getDerivedColor(String uiDefaultParentName, float hOffset, float sOffset, float bOffset, int aOffset, boolean uiResource)
Get a derived color, derived colors are shared instances and is color value will change when its parent UIDefault color changes.
String getDescription()
Returns a textual description of this look and feel.
Icon getDisabledIcon(JComponent component, Icon icon)
Returns an Icon with a disabled appearance.
String getID()
Return a string that identifies this look and feel.
String getName()
Return a short string that identifies this look and feel.
static NimbusStyle getStyle(JComponent c, Region r)
Gets the style associated with the given component and region.
void initialize()
Called by UIManager when this look and feel is installed.
void register(Region region, String prefix)

Registers a third party component with the NimbusLookAndFeel.

boolean shouldUpdateStyleOnAncestorChanged()
@inheritDoc
boolean shouldUpdateStyleOnEvent(PropertyChangeEvent ev)

Returns whether or not the UIs should update their styles when a particular event occurs.

void uninitialize()
Called by UIManager when this look and feel is uninstalled.
Protected Methods
final Color getDerivedColor(Color color1, Color color2, float midPoint)
Decodes and returns a color, which is derived from a offset between two other colors.
final Color getDerivedColor(Color color1, Color color2, float midPoint, boolean uiResource)
Decodes and returns a color, which is derived from an offset between two other colors.
[Expand]
Inherited Methods
From class javax.swing.plaf.synth.SynthLookAndFeel
From class javax.swing.plaf.basic.BasicLookAndFeel
From class javax.swing.LookAndFeel
From class java.lang.Object

Public Constructors

public NimbusLookAndFeel ()

Create a new NimbusLookAndFeel.

Public Methods

public UIDefaults getDefaults ()

Returns the defaults for this SynthLookAndFeel.

Returns
  • Defaults table.

public Color getDerivedColor (String uiDefaultParentName, float hOffset, float sOffset, float bOffset, int aOffset, boolean uiResource)

Get a derived color, derived colors are shared instances and is color value will change when its parent UIDefault color changes.

Parameters
uiDefaultParentName The parent UIDefault key
hOffset The hue offset
sOffset The saturation offset
bOffset The brightness offset
aOffset The alpha offset
uiResource True if the derived color should be a UIResource, false if it should not be
Returns
  • The stored derived color

public String getDescription ()

Returns a textual description of this look and feel.

Returns
  • textual description of this look and feel.

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. For example, if you create a JButton and only specify an Icon via setIcon this method will be called to generate the disabled Icon. If null is passed as icon this method returns null.

Some look and feels might not render the disabled Icon, in which case they will ignore this.

Parameters
component JComponent that will display the Icon, may be null
icon Icon to generate the disabled icon from
Returns
  • disabled Icon, or null if a suitable Icon can not be generated

public String getID ()

Return a string that identifies this look and feel. This String will be the unquoted String "Nimbus".

Returns
  • a short string identifying this look and feel.

public String getName ()

Return a short string that identifies this look and feel. This String will be the unquoted String "Nimbus".

Returns
  • a short string identifying this look and feel.

public static NimbusStyle getStyle (JComponent c, Region r)

Gets the style associated with the given component and region. This will never return null. If an appropriate component and region cannot be determined, then a default style is returned.

Parameters
c a non-null reference to a JComponent
r a non-null reference to the region of the component c
Returns
  • a non-null reference to a NimbusStyle.

public void initialize ()

Called by UIManager when this look and feel is installed.

public void register (Region region, String prefix)

Registers a third party component with the NimbusLookAndFeel.

Regions represent Components and areas within Components that act as independent painting areas. Once registered with the NimbusLookAndFeel, NimbusStyles for these Regions can be retrieved via the getStyle method.

The NimbusLookAndFeel uses a standard naming scheme for entries in the UIDefaults table. The key for each property, state, painter, and other default registered in UIDefaults for a specific Region will begin with the specified prefix

For example, suppose I had a component named JFoo. Suppose I then registered this component with the NimbusLookAndFeel in this manner:


     laf.register(NimbusFooUI.FOO_REGION, "Foo");
 

In this case, I could then register properties for this component with UIDefaults in the following manner:


     UIManager.put("Foo.background", new ColorUIResource(Color.BLACK));
     UIManager.put("Foo.Enabled.backgroundPainter", new FooBackgroundPainter());
 

It is also possible to register a named component with Nimbus. For example, suppose you wanted to style the background of a JPanel named "MyPanel" differently from other JPanels. You could accomplish this by doing the following:


     laf.register(Region.PANEL, "\"MyPanel\"");
     UIManager.put("\"MyPanel\".background", new ColorUIResource(Color.RED));
 

Parameters
region The Synth Region that is being registered. Such as Button, or ScrollBarThumb, or NimbusFooUI.FOO_REGION.
prefix The UIDefault prefix. For example, could be ComboBox, or if a named components, "MyComboBox", or even something like ToolBar."MyComboBox"."ComboBox.arrowButton"

public boolean shouldUpdateStyleOnAncestorChanged ()

@inheritDoc

Returns
  • true

public boolean shouldUpdateStyleOnEvent (PropertyChangeEvent ev)

Returns whether or not the UIs should update their styles when a particular event occurs. Returns true when one of the following properties change:

  • "name"
  • "ancestor"
  • "Nimbus.Overrides"
  • "Nimbus.Overrides.InheritDefaults"
  • "JComponent.sizeVariant"

Parameters
ev a PropertyChangeEvent
Returns
  • whether or not the UIs should update their styles

public void uninitialize ()

Called by UIManager when this look and feel is uninstalled.

Protected Methods

protected final Color getDerivedColor (Color color1, Color color2, float midPoint)

Decodes and returns a color, which is derived from a offset between two other colors.

Parameters
color1 The first color
color2 The second color
midPoint The offset between color 1 and color 2, a value of 0.0 is color 1 and 1.0 is color 2;
Returns
  • The derived color, which will be a UIResource

protected final Color getDerivedColor (Color color1, Color color2, float midPoint, boolean uiResource)

Decodes and returns a color, which is derived from an offset between two other colors.

Parameters
color1 The first color
color2 The second color
midPoint The offset between color 1 and color 2, a value of 0.0 is color 1 and 1.0 is color 2;
uiResource True if the derived color should be a UIResource
Returns
  • The derived color