Пакет 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 любых JComponent также может привести к неожиданным результатам, таким как отображение неправильных цветов, и, как правило, не рекомендуется.
Примечание: Большая часть API Swing не потокобезопасна. Подробнее см. Асинхронность в Swing, раздел в Java Tutorial.
- Since:
- 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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/swing/plaf/nimbus/package-summary.html