APIdia Launch Partner
Top Description Classes
module java.desktop

Package javax.swing.plaf.nimbus


Provides user interface objects built according to the cross-platform Nimbus look and feel.

Nimbus uses instances of the javax.swing.Painter interface to paint components. With each Swing component it associates a foreground and a background Painter, and there may be several painters for different component states.

Nimbus allows customizing many of its properties, including painters, by altering the javax.swing.UIDefaults table. Here's an example:

UIManager.put("ProgressBar.tileWidth", myTileWidth);
UIManager.put("ProgressBar[Enabled].backgroundPainter", myBgPainter);
UIManager.put("ProgressBar[Enabled].foregroundPainter", myFgPainter);

Per-component customization is also possible. When rendering a component, Nimbus checks its client property named "Nimbus.Overrides". The value of this property should be an instance of UIDefaults. Settings from that table override the UIManager settings, but for that particular component instance only. An optional client property, "Nimbus.Overrides.InheritDefaults" of type Boolean, specifies whether the overriding settings should be merged with default ones (true), or replace them (false). By default they are merged:

JProgressBar bar = new JProgressBar();
UIDefaults overrides = new UIDefaults();
overrides.put("ProgressBar.cycleTime", 330);
...
bar.putClientProperty("Nimbus.Overrides", overrides);
bar.putClientProperty("Nimbus.Overrides.InheritDefaults", false);

Colors in Nimbus are derived from a core set of primary colors. There are also secondary colors, which are derived from primary ones, but serve themselves as base colors for other derived colors. The derivation mechanism allows for runtime customization, i.e. if a primary or secondary color is changed, all colors that are derived from it are automatically updated. The method javax.swing.plaf.nimbus.NimbusLookAndFeel#getDerivedColor(java.lang.String, float, float, float, int, boolean) may be used to create a derived color.

These classes are designed to be used while the corresponding LookAndFeel class has been installed (UIManager.setLookAndFeel(new XXXLookAndFeel())). Using them while a different LookAndFeel is installed may produce unexpected results, including exceptions. Additionally, changing the LookAndFeel maintained by the UIManager without updating the corresponding ComponentUI of any JComponents may also produce unexpected results, such as the wrong colors showing up, and is generally not encouraged.

Note

Most of the Swing API is not thread safe. For details, see Concurrency in Swing, a section in The Java Tutorial.

Since
1.7

Class Summary

Modifier and TypeClass and Description
public abstract class
AbstractRegionPainter

Convenient base class for defining Painter instances for rendering a region or component in Nimbus.

pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
DerivedColor

DerivedColor - A color implementation that is derived from a UIManager defaults table color and a set of offsets.

pack-priv class
pack-priv class
pack-priv class
DropShadowEffect

DropShadowEffect - This effect currently only works with ARGB type buffered images.

pack-priv class
pack-priv abstract class
Effect

Effect

pack-priv class
EffectUtils

EffectUtils

pack-priv class
pack-priv class
pack-priv class
ImageCache

ImageCache - A fixed pixel count sized cache of Images keyed by arbitrary set of arguments.

pack-priv class
ImageScalingHelper

ImageScalingHelper

pack-priv class
InnerGlowEffect

InnerGlowEffect

pack-priv class
InnerShadowEffect

InnerShadowEffect - This effect currently only works with ARGB type buffered images.

pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
LoweredBorder

LoweredBorder - A recessed rounded inner shadowed border.

pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
NimbusDefaults

This class contains all the implementation details related to Nimbus.

pack-priv class
NimbusIcon

An icon that delegates to a painter.

public class
NimbusLookAndFeel

The NimbusLookAndFeel class.

public class
NimbusStyle

A SynthStyle implementation used by Nimbus.

pack-priv class
pack-priv class
pack-priv class
pack-priv class
OuterGlowEffect

InnerGlowEffect

pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv abstract class
ShadowEffect

ShadowEffect - base class with all the standard properties for shadow effects

pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
public abstract class
State<
type of component whose state is to be queried
T extends JComponent
>

Represents a built in, or custom, state in Nimbus.

pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
TableScrollPaneCorner

TableScrollPaneCorner - A simple component that paints itself using the table header background painter.

pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
ToolBarSeparatorPainter

A special painter implementation for tool bar separators in Nimbus.

pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv class