Класс 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)

Создает и возвращает Action для воспроизведения звука.

protected ActionMap getAudioActionMap()

Возвращает ActionMap, содержащий аудиодействия для этого внешнего вида.

UIDefaults getDefaults()

Возвращает значения по умолчанию внешнего вида.

protected void initClassDefaults​(UIDefaults table)

Заполняет table отображениями от uiClassID до полных квалифицированных имен класса ui.

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 для воспроизведения звука.

Методы, объявленные в классе 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

Spec-Zone .ru
спецификации, руководства, описания, API