Пакет 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, 2023, 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/21/docs/api/java.desktop/javax/swing/plaf/nimbus/package-summary.html