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