Spec-Zone.ru › OpenJDK 24

Пакет 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, 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

Spec-Zone.ru

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