Spec-Zone.ru › OpenJDK 25

Класс BasicLookAndFeel

java.lang.Object
javax.swing.LookAndFeel
javax.swing.plaf.basic.BasicLookAndFeel
Все реализованные интерфейсы:
Serializable
Прямые известные подклассы:
MetalLookAndFeel, SynthLookAndFeel
public abstract class BasicLookAndFeel extends LookAndFeel implements Serializable
Базовый класс для создания оформления Swing.

Каждое из ComponentUIs, предоставляемых BasicLookAndFeel, наследует свое поведение из таблицы значений по умолчанию. Если не указано иное, реализации ComponentUI в этом пакете документируют используемый ими набор значений по умолчанию. Если не указано иное, значения по умолчанию устанавливаются при вызове installUI и соответствуют рекомендациям по установке значений по умолчанию, изложенным в LookAndFeel.

Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими выпусками Swing. Текущая поддержка сериализации подходит для кратковременного хранения или RMI между приложениями, работающими с одной и той же версией Swing. Начиная с версии 1.4, в пакет java.beans добавлена поддержка долгосрочного хранения всех JavaBeans. См. XMLEncoder.

Краткое описание конструкторов

BasicLookAndFeel()
Модификатор Конструктор Описание
protected
Конструктор для вызова подклассами.

Краткое описание методов

Модификатор и тип Метод Описание
protected Action createAudioAction(Object key)
Создает и возвращает Action, используемый для воспроизведения звука.
protected ActionMap getAudioActionMap()
Возвращает ActionMap, содержащий действия воспроизведения звука для этого оформления.
UIDefaults getDefaults()
Возвращает значения по умолчанию для оформления.
protected void initClassDefaults(UIDefaults table)
Заполняет table сопоставлениями uiClassID с полными именами классов пользовательского интерфейса.
protected void initComponentDefaults(UIDefaults table)
Заполняет table значениями по умолчанию для базового оформления.
protected void initSystemColorDefaults(UIDefaults table)
Заполняет table системными цветами.
protected void loadSystemColors(UIDefaults table, String[] systemColors, boolean useNative)
Заполняет table парами name-color из systemColors.
protected void playSound(Action audioAction)
При необходимости вызывает actionPerformed для audioAction, чтобы воспроизвести звук.

Методы, объявленные в классе LookAndFeel

getDescription, getDesktopPropertyValue, getDisabledIcon, getDisabledSelectedIcon, getID, getLayoutStyle, getName, getSupportsWindowDecorations, initialize, installBorder, installColors, installColorsAndFont, installProperty, isNativeLookAndFeel, isSupportedLookAndFeel, loadKeyBindings, makeComponentInputMap, makeIcon, makeInputMap, makeKeyBindings, provideErrorFeedback, toString, uninitialize, uninstallBorder

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Подробное описание конструкторов

BasicLookAndFeel

protected BasicLookAndFeel()
Конструктор для вызова подклассами.

Подробное описание методов

getDefaults

public UIDefaults getDefaults()
Возвращает значения по умолчанию для оформления. Возвращаемый объект UIDefaults заполняется вызовом по порядку initClassDefaults, initSystemColorDefaults и initComponentDefaults.

Хотя этот метод является открытым, вызывать его должен только UIManager, когда оформление установлено в качестве текущего и после вызова initialize.

Переопределяет:
getDefaults в классе LookAndFeel
Возвращает:
значения по умолчанию для оформления
См. также:
  • initClassDefaults(UIDefaults)
  • initSystemColorDefaults(UIDefaults)
  • initComponentDefaults(UIDefaults)

initClassDefaults

protected void initClassDefaults(UIDefaults table)
Заполняет table сопоставлениями uiClassID с полными именами классов пользовательского интерфейса. Значение для конкретного uiClassID — это "javax.swing.plaf.basic.Basic + uiClassID". Например, значение для uiClassID TreeUI — это "javax.swing.plaf.basic.BasicTreeUI".
Параметры:
table — экземпляр UIDefaults, в который добавляются записи
Исключения:
NullPointerException — если table равно null
См. также:
  • LookAndFeel
  • getDefaults()

initSystemColorDefaults

protected void initSystemColorDefaults(UIDefaults table)
Заполняет table системными цветами. Создает массив пар name-color и вызывает loadSystemColors.

Имя представляет собой String, соответствующее имени одного из статических полей SystemColor класса SystemColor. Для каждого такого поля SystemColor создается пара «имя — цвет».

color соответствует шестнадцатеричному значению String в формате, распознаваемом Color.decode. Например, одна из пар name-color — это "desktop"-"#005C5C". Она соответствует полю SystemColor desktop со значением цвета new Color(0x005C5C).

Ниже приведены две пары name-color:

  String[] nameColorPairs = new String[] {
         "desktop", "#005C5C",
   "activeCaption", "#000080" };
  loadSystemColors(table, nameColorPairs, isNativeLookAndFeel());
Как уже говорилось, этот метод вызывает loadSystemColors с указанными table и массивом пар name-color. Последний аргумент loadSystemColors указывает, следует ли использовать значение поля из SystemColor. Этот метод передает значение isNativeLookAndFeel() в качестве последнего аргумента в loadSystemColors.
Параметры:
table — объект UIDefaults, в который добавляются значения
Исключения:
NullPointerException — если table равно null
См. также:
  • SystemColor
  • getDefaults()
  • loadSystemColors(UIDefaults, String[], boolean)

loadSystemColors

protected void loadSystemColors(UIDefaults table, String[] systemColors, boolean useNative)
Заполняет table парами name-color из systemColors. Подробные сведения о формате systemColors см. в разделе initSystemColorDefaults(UIDefaults).

Для каждой пары name-color из systemColors в table добавляется запись. Ключом записи является name пары name-color.

Значение записи соответствует color пары name-color. Значение записи вычисляется одним из двух способов. В обоих случаях результат всегда является ColorUIResource.

Если useNative равно false, color создается с помощью Color.decode, преобразующего String в Color. Если decode не может преобразовать String в Color (выбрасывается NumberFormatException), используется ColorUIResource черного цвета.

Если useNative равно true, color — это значение поля в SystemColor с тем же именем, что и name пары name-color. Если поле недопустимо, используется ColorUIResource черного цвета.

Параметры:
table — объект UIDefaults, в который добавляются значения
systemColors — массив пар name-color, описанных в разделе initSystemColorDefaults(UIDefaults)
useNative — указывает, следует ли получать цвет из SystemColor или Color.decode
Исключения:
NullPointerException — если systemColors равно null; или systemColors не пусто, а table равно null; или одно из имен пар name-color равно null; или useNative равно false и одно из colors пар name-color равно null
ArrayIndexOutOfBoundsException — если useNative равно false, а systemColors.length нечетно
См. также:
  • initSystemColorDefaults(javax.swing.UIDefaults)
  • SystemColor
  • Color.decode(String)

initComponentDefaults

protected void initComponentDefaults(UIDefaults table)
Заполняет table значениями по умолчанию для базового оформления.
Параметры:
table — объект UIDefaults, в который добавляются значения
Исключения:
NullPointerException — если table равно null

getAudioActionMap

protected ActionMap getAudioActionMap()
Возвращает ActionMap, содержащий действия воспроизведения звука для этого оформления.

Возвращаемый ActionMap содержит Actions, обеспечивающие возможность воспроизведения звуковых сигналов. Эти сигналы соответствуют действиям пользователя и системы, о которых конечному пользователю может быть полезно знать (например, появление диалогового окна).

В соответствующий момент ComponentUI отвечает за получение Action из ActionMap и его передачу в playSound.

Сначала этот метод ищет ActionMap в значениях по умолчанию по ключу "AuditoryCues.actionMap".

Если значение равно non-null, оно возвращается. Если значение по умолчанию "AuditoryCues.actionMap" равно null, а значение по умолчанию "AuditoryCues.cueList" равно non-null, создается и заполняется ActionMapUIResource. Для заполнения перебираются все элементы массива "AuditoryCues.cueList", и для каждого элемента вызывается createAudioAction(), создающий Action. Полученный Action помещается в ActionMapUIResource, причем элемент массива используется в качестве ключа. Например, если массив "AuditoryCues.cueList" содержит один элемент "audioKey", создается ActionMapUIResource, а затем он заполняется с помощью actionMap.put(cueList[0], createAudioAction(cueList[0])).

Если значение по умолчанию "AuditoryCues.actionMap" равно null, а значение по умолчанию "AuditoryCues.cueList" равно null, создается пустой ActionMapUIResource.

Возвращает:
ActionMap, содержащий Actions, отвечающие за воспроизведение звуковых сигналов
Исключения:
ClassCastException — если значение по умолчанию "AuditoryCues.actionMap" не является ActionMap или значение по умолчанию "AuditoryCues.cueList" не является Object[]
Начиная с версии:
1.4
См. также:
  • createAudioAction(Object)
  • playSound(Action)

createAudioAction

protected Action createAudioAction(Object key)
Создает и возвращает Action, используемый для воспроизведения звука.

Если key равно non-null, создается Action с использованием значения из таблицы значений по умолчанию с ключом key. Это значение указывает звуковой ресурс, который нужно загрузить при вызове actionPerformed для Action. Звуковой ресурс загружается в byte[] с помощью getClass().getResourceAsStream().

Параметры:
key — ключ, идентифицирующий действие воспроизведения звука
Возвращает:
Action, используемый для воспроизведения источника, или null, если key равно null
Начиная с версии:
1.4
См. также:
  • playSound(Action)

playSound

protected void playSound(Action audioAction)
При необходимости вызывает actionPerformed для audioAction, чтобы воспроизвести звук. Метод actionPerformed вызывается, если значение по умолчанию "AuditoryCues.playList" — это non-null Object[], содержащий запись String, равную имени audioAction.
Параметры:
audioAction — Action, который умеет воспроизводить звук, связанный с происходящим системным действием или действием пользователя; значение null игнорируется
Исключения:
ClassCastException — если audioAction равно non-null, а значение по умолчанию "AuditoryCues.playList" не является Object[]
Начиная с версии:
1.4

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по 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/basic/BasicLookAndFeel.html

Spec-Zone.ru

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