Spec-Zone.ru › OpenJDK 21

Пакет javax.swing.plaf.nimbus

package javax.swing.plaf.nimbus
Предоставляет объекты пользовательского интерфейса, созданные в соответствии с кроссплатформенной темой 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
Пакет Описание
javax.swing.plaf
Предоставляет один интерфейс и множество абстрактных классов, которые Swing использует для обеспечения своих переключаемых возможностей оформления.
javax.swing.plaf.basic
Предоставляет объекты пользовательского интерфейса, созданные в соответствии с базовым оформлением.
javax.swing.plaf.metal
Предоставляет объекты пользовательского интерфейса, созданные в соответствии с оформлением Java (ранее кодовое название Metal), которое является оформлением по умолчанию.
javax.swing.plaf.multi
Предоставляет объекты пользовательского интерфейса, которые объединяют две или более темы оформления.
javax.swing.plaf.synth
Synth — это настраиваемое оформление, в котором вся отрисовка делегируется.
Класс Описание
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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API