Пакет javax.swing.plaf.nimbus
Nimbus использует экземпляры интерфейса Painter для отрисовки компонентов. Каждому компоненту Swing он сопоставляет Painter переднего и заднего плана; при этом для разных состояний компонента может использоваться несколько средств отрисовки.
Nimbus позволяет настраивать многие свои свойства, включая средства отрисовки, изменяя таблицу UIDefaults. Пример:
UIManager.put("ProgressBar.tileWidth", myTileWidth);
UIManager.put("ProgressBar[Enabled].backgroundPainter", myBgPainter);
UIManager.put("ProgressBar[Enabled].foregroundPainter", myFgPainter);
Также возможна настройка отдельных компонентов. При отрисовке компонента Nimbus проверяет его клиентское свойство с именем "Nimbus.Overrides". Значением этого свойства должен быть экземпляр UIDefaults. Параметры из этой таблицы переопределяют параметры UIManager, но только для данного экземпляра компонента. Необязательное клиентское свойство "Nimbus.Overrides.InheritDefaults" типа Boolean определяет, нужно ли объединить переопределяющие параметры с параметрами по умолчанию (true) или заменить их (false). По умолчанию параметры объединяются:
JProgressBar bar = new JProgressBar();
UIDefaults overrides = new UIDefaults();
overrides.put("ProgressBar.cycleTime", 330);
...
bar.putClientProperty("Nimbus.Overrides", overrides);
bar.putClientProperty("Nimbus.Overrides.InheritDefaults", false);
Цвета в Nimbus формируются на основе основного набора основных цветов. Существуют также вторичные цвета, которые формируются на основе основных, но сами служат базовыми цветами для других производных цветов. Механизм формирования позволяет настраивать цвета во время выполнения: если изменить основной или вторичный цвет, все производные от него цвета автоматически обновятся. Для создания производного цвета можно использовать метод NimbusLookAndFeel.getDerivedColor(java.lang.String, float, float, float, int, boolean).
Эти классы предназначены для использования при установленном соответствующем классе LookAndFeel (UIManager.setLookAndFeel(new XXXLookAndFeel())). Их использование при установленном другом LookAndFeel может привести к непредвиденным результатам, в том числе к исключениям. Кроме того, изменение LookAndFeel, поддерживаемой UIManager, без обновления соответствующего ComponentUI любого JComponents также может привести к непредвиденным результатам, например к отображению неправильных цветов, поэтому обычно этого делать не рекомендуется.
Примечание: Большая часть API Swing не является потокобезопасной. Подробнее см. в разделе Многопоточность в Swing руководства Учебное руководство по Java.
- С версии:
- 1.7
| Класс | Описание |
|---|---|
| AbstractRegionPainter | Удобный базовый класс для определения экземпляров Painter, отрисовывающих область или компонент в Nimbus. |
| AbstractRegionPainter.PaintContext | Класс, инкапсулирующий состояние, полезное при отрисовке. |
| AbstractRegionPainter.PaintContext.CacheMode | Режим кэширования. |
| NimbusLookAndFeel | Класс NimbusLookAndFeel. |
| NimbusStyle | Реализация SynthStyle, используемая Nimbus. |
| State<T extends JComponent> | Представляет встроенное или пользовательское состояние в Nimbus. |
© 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/swing/plaf/nimbus/package-summary.html