Spec-Zone.ru › OpenJDK 25

Пакет 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 любого JComponents также может привести к непредвиденным результатам, например к отображению неправильных цветов, поэтому обычно этого делать не рекомендуется.

Примечание: Большая часть API Swing не является потокобезопасной. Подробнее см. в разделе Многопоточность в Swing руководства Учебное руководство по Java.

С версии:
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.

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/swing/plaf/nimbus/package-summary.html

Spec-Zone.ru

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