Класс 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) Заполняет |
void |
initialize() Инициализирует внешний вид. |
protected void |
initSystemColorDefaults(UIDefaults table) Заполняет |
protected void |
loadSystemColors(UIDefaults table,
String[] systemColors,
boolean useNative) Заполняет |
protected void |
playSound(Action audioAction) При необходимости вызывает |
void |
uninitialize() Деинициализирует внешний вид. |
Методы, унаследованные от класса javax.swing.LookAndFeel
getDescription, getDesktopPropertyValue, getDisabledIcon, getDisabledSelectedIcon, getID, getLayoutStyle, getName, getSupportsWindowDecorations, installBorder, installColors, installColorsAndFont, installProperty, isNativeLookAndFeel, isSupportedLookAndFeel, loadKeyBindings, makeComponentInputMap, makeIcon, makeInputMap, makeKeyBindings, provideErrorFeedback, toString, 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.
- Overrides:
-
getDefaultsв классеLookAndFeel - Возвращает:
- настройки внешнего вида
- См. также:
-
initClassDefaults(javax.swing.UIDefaults),initSystemColorDefaults(javax.swing.UIDefaults),initComponentDefaults(javax.swing.UIDefaults)
initialize
public void initialize()
Инициализирует внешний вид. Несмотря на то, что этот метод является публичным, вызывать его следует только UIManager при установке внешнего вида в качестве текущего. Этот метод вызывается перед тем, как UIManager вызовет getDefaults. Этот метод предназначен для выполнения любой необходимой инициализации внешнего вида. Подклассы должны выполнять любое одноразовое задание здесь, а не в статическом инициализаторе, поскольку объекты класса внешнего вида могут загружаться только для того, чтобы обнаружить, что isSupportedLookAndFeel() возвращает false.
- Overrides:
-
initializeв классеLookAndFeel - См. также:
-
LookAndFeel.uninitialize(),UIManager.setLookAndFeel(javax.swing.LookAndFeel)
uninitialize
public void uninitialize()
Деинициализирует внешний вид. Несмотря на то, что этот метод является публичным, вызывать его следует только UIManager при удалении внешнего вида. Например, UIManager.setLookAndFeel вызывает этот метод при изменении внешнего вида.
Подклассы могут выбрать освобождение некоторых ресурсов здесь.
- Overrides:
-
uninitializeв классеLookAndFeel - См. также:
-
LookAndFeel.initialize(),UIManager.setLookAndFeel(javax.swing.LookAndFeel)
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 системными цветами. Создаёт массив 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(javax.swing.UIDefaults, java.lang.String[], boolean)
loadSystemColors
protected void loadSystemColors(UIDefaults table,
String[] systemColors,
boolean useNative) Заполняет table парами name-color в systemColors. Подробности о формате systemColors см. в initSystemColorDefaults(UIDefaults).
В table добавляется запись для каждой из name-color пар в systemColors. Ключ записи — это name name-color пары.
Значение записи соответствует color name-color пары. Значение записи вычисляется одним из двух способов. В обоих случаях значение всегда является ColorUIResource.
Если useNative равно false, color создаётся путём преобразования String в Color с помощью Color.decode. Если decode не может преобразовать String в Color (выбрасывается NumberFormatException), используется чёрный цвет.
Если useNative равно true, color — это значение поля в SystemColor с именем, совпадающим с name name-color пары. Если поле недействительно, используется чёрный цвет.
- Параметры:
-
table- объектUIDefaults, в который добавляются значения -
systemColors- массивname-colorпар, как описано вinitSystemColorDefaults(UIDefaults) -
useNative- флаг, указывающий, брать ли цвет изSystemColorилиColor.decode - Исключения:
-
NullPointerException- еслиsystemColorsравенnull; илиsystemColorsне пусто, аtableравенnull; или одно из имёнname-colorпар некорректно; илиuseNativeравноfalseи одно изcolorsname-colorпар некорректно -
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[] - Since:
- 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.