Spec-Zone.ru › OpenJDK 17

Пакет 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
Предоставляет объекты пользовательского интерфейса, построенные в соответствии со стилем 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, 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

Spec-Zone.ru

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