Class NimbusLookAndFeel
- All Implemented Interfaces:
Serializable
public class NimbusLookAndFeel extends SynthLookAndFeel
The NimbusLookAndFeel class.
Constructor Summary
| Constructor | Description |
|---|---|
NimbusLookAndFeel() |
Create a new NimbusLookAndFeel. |
Method Summary
| Modifier and Type | Method | Description |
|---|---|---|
protected final Color |
getDerivedColor |
Decodes and returns a color, which is derived from a offset between two other colors. |
protected final Color |
getDerivedColor |
Decodes and returns a color, which is derived from an offset between two other colors. |
Color |
getDerivedColor |
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. |
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 |
Gets the style associated with the given component and region. |
void |
initialize() |
Called by UIManager when this look and feel is installed. |
void |
register |
Registers a third party component with the NimbusLookAndFeel. |
boolean |
shouldUpdateStyleOnAncestorChanged() |
Returns whether or not the UIs should update their SynthStyles from the SynthStyleFactory when the ancestor of the JComponent changes. |
protected boolean |
shouldUpdateStyleOnEvent |
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. |
Methods declared in class SynthLookAndFeel
createUI, getDefaults, getRegion, getStyleFactory, isNativeLookAndFeel, isSupportedLookAndFeel, load, setStyleFactory, updateStyles | Modifier and Type | Method | Description |
|---|---|---|
static ComponentUI |
createUI |
Creates the Synth look and feel ComponentUI for the passed in JComponent. |
UIDefaults |
getDefaults() |
Returns the defaults for this SynthLookAndFeel. |
static Region |
getRegion |
Returns the Region for the JComponent c. |
static SynthStyleFactory |
getStyleFactory() |
Returns the current SynthStyleFactory. |
boolean |
isNativeLookAndFeel() |
Returns false, SynthLookAndFeel is not a native look and feel. |
boolean |
isSupportedLookAndFeel() |
Returns true, SynthLookAndFeel is always supported. |
void |
load |
Loads the set of SynthStyles that will be used by this SynthLookAndFeel. |
static void |
setStyleFactory |
Sets the SynthStyleFactory that the UI classes provided by synth will use to obtain a SynthStyle. |
static void |
updateStyles |
Updates the style associated with c, and all its children. |
Methods declared in class BasicLookAndFeel
createAudioAction, getAudioActionMap, initClassDefaults, initComponentDefaults, initSystemColorDefaults, loadSystemColors, playSound | Modifier and Type | Method | Description |
|---|---|---|
protected Action |
createAudioAction |
Creates and returns an Action used to play a sound. |
protected ActionMap |
getAudioActionMap() |
Returns an ActionMap containing the audio actions for this look and feel. |
protected void |
initClassDefaults |
Populates table with mappings from uiClassID to the fully qualified name of the ui class. |
protected void |
initComponentDefaults |
Populates table with the defaults for the basic look and feel. |
protected void |
initSystemColorDefaults |
Populates table with system colors. |
protected void |
loadSystemColors |
Populates table with the name-color pairs in systemColors. |
protected void |
playSound |
If necessary, invokes actionPerformed on audioAction to play a sound. |
Methods declared in class LookAndFeel
getDesktopPropertyValue, getDisabledIcon, getDisabledSelectedIcon, getLayoutStyle, getSupportsWindowDecorations, installBorder, installColors, installColorsAndFont, installProperty, loadKeyBindings, makeComponentInputMap, makeIcon, makeInputMap, makeKeyBindings, provideErrorFeedback, toString, uninstallBorder | Modifier and Type | Method | Description |
|---|---|---|
static Object |
getDesktopPropertyValue |
Returns the value of the specified system desktop property by invoking Toolkit.getDefaultToolkit().getDesktopProperty(). |
Icon |
getDisabledIcon |
Returns an Icon with a disabled appearance. |
Icon |
getDisabledSelectedIcon |
Returns an Icon for use by disabled components that are also selected. |
LayoutStyle |
getLayoutStyle() |
Returns the LayoutStyle for this look and feel. |
boolean |
getSupportsWindowDecorations() |
Returns true if the LookAndFeel returned RootPaneUI instances support providing Window decorations in a JRootPane. |
static void |
installBorder |
Convenience method for setting a component's border property with a value from the defaults. |
static void |
installColors |
Convenience method for setting a component's foreground and background color properties with values from the defaults. |
static void |
installColorsAndFont |
Convenience method for setting a component's foreground, background and font properties with values from the defaults. |
static void |
installProperty |
Convenience method for installing a property with the specified name and value on a component if that property has not already been set by the developer. |
static void |
loadKeyBindings |
Populates an InputMap with the specified bindings. |
static ComponentInputMap |
makeComponentInputMap |
Creates a ComponentInputMapUIResource from keys. |
static Object |
makeIcon |
Creates and returns a UIDefault.LazyValue that loads an image. |
static InputMap |
makeInputMap |
Creates an InputMapUIResource from keys. |
static JTextComponent.KeyBinding[] |
makeKeyBindings |
Convenience method for building an array of
KeyBindings. |
void |
provideErrorFeedback |
Invoked when the user attempts an invalid operation, such as pasting into an uneditable JTextField that has focus. |
String |
toString() |
Returns a string that displays and identifies this object's properties. |
static void |
uninstallBorder |
Convenience method for uninstalling a border. |
Methods declared in class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait | Modifier and Type | Method | Description |
|---|---|---|
protected Object |
clone() |
Creates and returns a copy of this object. |
boolean |
equals |
Indicates whether some other object is "equal to" this one. |
protected void |
finalize() |
Deprecated, for removal: This API element is subject to removal in a future version. Finalization is deprecated and subject to removal in a future release. |
final Class |
getClass() |
Returns the runtime class of this Object. |
int |
hashCode() |
Returns a hash code value for this object. |
final void |
notify() |
Wakes up a single thread that is waiting on this object's monitor. |
final void |
notifyAll() |
Wakes up all threads that are waiting on this object's monitor. |
final void |
wait() |
Causes the current thread to wait until it is awakened, typically by being notified or interrupted. |
final void |
wait |
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed. |
final void |
wait |
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed. |
Constructor Details
NimbusLookAndFeel
public NimbusLookAndFeel()
Method Details
initialize
public void initialize()
- Overrides:
-
initializein classSynthLookAndFeel - See Also:
uninitialize
public void uninitialize()
- Overrides:
-
uninitializein classSynthLookAndFeel - See Also:
getStyle
public static NimbusStyle getStyle(JComponent c, Region r)
- 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.
getName
public String getName()
- Overrides:
-
getNamein classSynthLookAndFeel - Returns:
- a short string identifying this look and feel.
getID
public String getID()
- Overrides:
-
getIDin classSynthLookAndFeel - Returns:
- a short string identifying this look and feel.
getDescription
public String getDescription()
- Overrides:
-
getDescriptionin classSynthLookAndFeel - Returns:
- textual description of this look and feel.
shouldUpdateStyleOnAncestorChanged
public boolean shouldUpdateStyleOnAncestorChanged()
SynthStyles from the SynthStyleFactory when the ancestor of the JComponent changes. A subclass that provided a SynthStyleFactory that based the return value from getStyle off the containment hierarchy would override this method to return true.- Overrides:
-
shouldUpdateStyleOnAncestorChangedin classSynthLookAndFeel - Returns:
true
shouldUpdateStyleOnEvent
protected boolean shouldUpdateStyleOnEvent(PropertyChangeEvent ev)
Overridden to return true when one of the following properties change:
-
"Nimbus.Overrides" -
"Nimbus.Overrides.InheritDefaults" -
"JComponent.sizeVariant"
- Overrides:
-
shouldUpdateStyleOnEventin classSynthLookAndFeel - Parameters:
-
ev- aPropertyChangeEvent - Returns:
- whether or not the UIs should update their styles
- Since:
- 1.7
register
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"
getDerivedColor
public Color getDerivedColor(String uiDefaultParentName, float hOffset, float sOffset, float bOffset, int aOffset, boolean uiResource)
- 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
getDerivedColor
protected final Color getDerivedColor(Color color1, Color color2, float midPoint, boolean uiResource)
- 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
getDerivedColor
protected final Color getDerivedColor(Color color1, Color color2, float midPoint)
- 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
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.