Convenient base class for defining Painter instances for rendering a region or component in Nimbus.
A class encapsulating state useful when painting.
The NimbusLookAndFeel class.
A SynthStyle implementation used by Nimbus.
|State<T extends JComponent>||
Represents a built in, or custom, state in Nimbus.
Nimbus uses instances of the
Painter interface to paint
components. With each Swing component it associates a foreground and a
Painter, and there may be several painters for different
Nimbus allows customizing many of its properties, including painters, by
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
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
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
LookAndFeel class has been
Using them while a different
LookAndFeel is installed
may produce unexpected results, including exceptions.
Additionally, changing the
maintained by the
UIManager without updating the
ComponentUI of any
JComponents may also produce unexpected results,
such as the wrong colors showing up, and is generally not