Класс BasicLookAndFeel
- java.lang.Object
-
- javax.swing.LookAndFeel
-
- javax.swing.plaf.basic.BasicLookAndFeel
- Все реализованные интерфейсы:
Serializable
- Непосредственные известные подклассы:
-
MetalLookAndFeel,SynthLookAndFeel
public abstract class BasicLookAndFeel extends LookAndFeel implements Serializable
Базовый класс для создания внешнего вида и ощущений для Swing.
Каждый из ComponentUI предоставленных
BasicLookAndFeel наследует свое поведение из таблицы по умолчанию. За исключением случаев, когда указано иное, каждое из ComponentUI реализаций в этом пакете документально описывает набор используемых значений по умолчанию. За исключением случаев, когда указано иное, значения по умолчанию устанавливаются в момент вызова installUI, и следуют рекомендациям, изложенным в LookAndFeel для установки значений по умолчанию.
Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими версиями Swing. Текущая поддержка сериализации подходит для краткосрочного хранения или RMI между приложениями, использующими одну и ту же версию Swing. Начиная с версии 1.4, поддержка долгосрочного хранения всех JavaBeans™ была добавлена в пакет java.beans. Пожалуйста, обратитесь к XMLEncoder.
- См. также:
- Сериализованная форма
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
BasicLookAndFeel() |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
protected Action | createAudioAction(Object key) | Создает и возвращает |
protected ActionMap | getAudioActionMap() | Возвращает |
UIDefaults | getDefaults() | Возвращает значения по умолчанию внешнего вида. |
protected void | initClassDefaults(UIDefaults table) | Заполняет |
protected void | initComponentDefaults(UIDefaults table) | Заполняет |
protected void | initSystemColorDefaults(UIDefaults table) | Заполняет |
protected void | loadSystemColors(UIDefaults table,
String[] systemColors,
boolean useNative) | Заполняет |
protected void | playSound(Action audioAction) | При необходимости вызывает |
Методы, объявленные в классе javax.swing.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 Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait Конструкторы
BasicLookAndFeel
public BasicLookAndFeel()
Методы
getDefaults
public UIDefaults getDefaults()
Возвращает значения по умолчанию для внешнего вида. Возвращаемые UIDefaults заполняются последовательным вызовом initClassDefaults, initSystemColorDefaults и initComponentDefaults.
Несмотря на то, что этот метод является публичным, его следует вызывать только UIManager при установке внешнего вида в качестве текущего и после вызова initialize.
- Переопределяет:
-
getDefaultsв классеLookAndFeel - Возвращает:
- значения по умолчанию для внешнего вида
- См. также:
-
initClassDefaults(javax.swing.UIDefaults),initSystemColorDefaults(javax.swing.UIDefaults),initComponentDefaults(javax.swing.UIDefaults)
initClassDefaults
protected void initClassDefaults(UIDefaults table)
Заполняет table соответствиями от uiClassID до полных квалифицированных имён классов UI. Значение для конкретного 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 системными цветами. Это создаёт массив пар «имя-цвет» и вызывает
loadSystemColors.
Имя — это String , соответствующее имени одного из статических полей SystemColor в классе
SystemColor. Для каждого такого SystemColor поля создаётся пара «имя-цвет».
Цвет соответствует шестнадцатеричному String в том виде, как он понимается Color.decode. Например, одна из пар «имя-цвет» —
"desktop"-"#005C5C". Это соответствует полю desktop класса
SystemColor, с цветовым значением new Color(0x005C5C).
Ниже показаны две из пар «имя-цвет»:
String[] nameColorPairs = new String[] {
"desktop", "#005C5C",
"activeCaption", "#000080" };
loadSystemColors(table, nameColorPairs, isNativeLookAndFeel()); Как уже говорилось, это вызывает loadSystemColors с предоставленным массивом пар «имя-цвет» и name-color. Последний аргумент в loadSystemColors указывает, использовать ли значение поля в SystemColor. Этот метод передаёт значение
isNativeLookAndFeel() в качестве последнего аргумента в loadSystemColors.- Параметры:
-
table- объектUIDefaultsдля добавления значений - Исключения:
-
NullPointerException- еслиtableявляетсяnull - См. также:
-
SystemColor,getDefaults(),loadSystemColors(javax.swing.UIDefaults, java.lang.String[], boolean)
loadSystemColors
protected void loadSystemColors(UIDefaults table,
String[] systemColors,
boolean useNative) Заполняет table парами «имя-цвет» в systemColors. Подробнее о формате systemColors см. в initSystemColorDefaults(UIDefaults).
В table добавляется запись для каждой пары «имя-цвет» в systemColors. Ключ записи — это name пары «имя-цвет».
Значение записи соответствует color пары «имя-цвет». Значение записи вычисляется одним из двух способов. В обоих случаях значение всегда является ColorUIResource.
Если useNative равно false, цвет создаётся с помощью Color.decode для преобразования
String в Color. Если decode не может преобразовать String в Color (выбрасывается
NumberFormatException), используется чёрный цвет.
Если useNative равно true, цвет — это значение поля в SystemColor с именем, совпадающим с name пары «имя-цвет». Если поле недействительно, используется чёрный цвет.
- Параметры:
-
table- объектUIDefaultsдля добавления значений -
systemColors- массив пар «имя-цвет» (см.initSystemColorDefaults(UIDefaults)) -
useNative- указывает, получать ли цвет изSystemColorилиColor.decode - Исключения:
-
NullPointerException- еслиsystemColorsравноnull; илиsystemColorsне пусто, иtableравноnull; или одно из имён в паре «имя-цвет» недопустимо; илиuseNativeравноfalse, и одно изcolorsв паре «имя-цвет» равно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(java.lang.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
© 1993, 2020, 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/11/docs/api/java.desktop/javax/swing/plaf/basic/BasicLookAndFeel.html