Nimbus uses instances of the javax. 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. 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.
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.
| Modifier and Type | Class 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 |