Класс BasicLookAndFeel
- Все реализованные интерфейсы:
Serializable
- Прямые известные подклассы:
MetalLookAndFeel, SynthLookAndFeel
public abstract class BasicLookAndFeel extends LookAndFeel implements Serializable
Каждое из ComponentUIs, предоставляемых
BasicLookAndFeel, наследует свое поведение из таблицы значений по умолчанию. Если не указано иное, реализации ComponentUI в этом пакете документируют используемый ими набор значений по умолчанию. Если не указано иное, значения по умолчанию устанавливаются при вызове installUI и соответствуют рекомендациям по установке значений по умолчанию, изложенным в LookAndFeel.
Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими выпусками Swing. Текущая поддержка сериализации подходит для кратковременного хранения или RMI между приложениями, работающими с одной и той же версией Swing. Начиная с версии 1.4, в пакет java.beans добавлена поддержка долгосрочного хранения всех JavaBeans. См. XMLEncoder.
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Конструктор для вызова подклассами. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
protected Action |
createAudioAction |
Создает и возвращает Action, используемый для воспроизведения звука. |
protected ActionMap |
getAudioActionMap() |
Возвращает ActionMap, содержащий действия воспроизведения звука для этого оформления. |
UIDefaults |
getDefaults() |
Возвращает значения по умолчанию для оформления. |
protected void |
initClassDefaults |
Заполняет table сопоставлениями uiClassID с полными именами классов пользовательского интерфейса. |
protected void |
initComponentDefaults |
Заполняет table значениями по умолчанию для базового оформления. |
protected void |
initSystemColorDefaults |
Заполняет table системными цветами. |
protected void |
loadSystemColors |
Заполняет table парами name-color из systemColors. |
protected void |
playSound |
При необходимости вызывает 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
Подробное описание конструкторов
BasicLookAndFeel
protected BasicLookAndFeel()
Подробное описание методов
getDefaults
public UIDefaults getDefaults()
UIDefaults заполняется вызовом по порядку initClassDefaults, initSystemColorDefaults и initComponentDefaults. Хотя этот метод является открытым, вызывать его должен только UIManager, когда оформление установлено в качестве текущего и после вызова initialize.
- Переопределяет:
-
getDefaultsв классеLookAndFeel - Возвращает:
- значения по умолчанию для оформления
- См. также:
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 - См. также:
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 - См. также:
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нечетно - См. также:
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
protected Action createAudioAction(Object key)
Action, используемый для воспроизведения звука. Если key равно non-null, создается Action с использованием значения из таблицы значений по умолчанию с ключом key. Это значение указывает звуковой ресурс, который нужно загрузить при вызове actionPerformed для Action. Звуковой ресурс загружается в byte[] с помощью getClass().getResourceAsStream().
- Параметры:
-
key— ключ, идентифицирующий действие воспроизведения звука - Возвращает:
Action, используемый для воспроизведения источника, илиnull, еслиkeyравноnull- Начиная с версии:
- 1.4
- См. также:
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
© 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