Класс BasicLookAndFeel
- Все реализуемые интерфейсы:
Serializable
- Прямые известные подклассы:
MetalLookAndFeel, SynthLookAndFeel
public abstract class BasicLookAndFeel extends LookAndFeel implements Serializable
Каждая из ComponentUI, предоставляемых
BasicLookAndFeel, наследует свое поведение из таблицы значений по умолчанию. Если не указано иное, в документации каждой реализации ComponentUI этого пакета описан набор используемых ею значений по умолчанию. Если не указано иное, значения по умолчанию устанавливаются при вызове installUI и соответствуют рекомендациям по установке значений по умолчанию, изложенным в LookAndFeel.
Предупреждение: Сериализованные объекты этого класса будут несовместимы с будущими выпусками Swing. Текущая поддержка сериализации подходит для кратковременного хранения или RMI между приложениями, работающими с одной и той же версией Swing. Начиная с версии 1.4, поддержка длительного хранения всех JavaBeans добавлена в пакет java.beans. См. 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 | Модификатор и тип | Метод | Описание |
|---|---|---|
abstract String |
getDescription() |
Возвращает однострочное описание этой реализации внешнего вида и поведения, например. |
static Object |
getDesktopPropertyValue |
Возвращает значение указанного системного свойства рабочего стола, вызывая Toolkit.getDefaultToolkit().getDesktopProperty(). |
Icon |
getDisabledIcon |
Возвращает Icon с отключенным внешним видом. |
Icon |
getDisabledSelectedIcon |
Возвращает Icon для использования отключенными компонентами, которые также выбраны. |
abstract String |
getID() |
Возвращает строку, идентифицирующую этот внешний вид и поведение. |
LayoutStyle |
getLayoutStyle() |
Возвращает LayoutStyle для этого внешнего вида и поведения. |
abstract String |
getName() |
Возвращает короткую строку, идентифицирующую этот внешний вид и поведение, например. |
boolean |
getSupportsWindowDecorations() |
Возвращает true, если экземпляры RootPaneUI, возвращаемые LookAndFeel, поддерживают предоставление Window оформления в JRootPane. |
void |
initialize() |
Инициализирует внешний вид и поведение. |
static void |
installBorder |
Вспомогательный метод для установки свойства границы компонента с помощью значения из набора значений по умолчанию. |
static void |
installColors |
Вспомогательный метод для установки свойств цвета переднего плана и фона компонента с помощью значений из набора значений по умолчанию. |
static void |
installColorsAndFont |
Вспомогательный метод для установки свойств цвета переднего плана, фона и шрифта компонента с помощью значений из набора значений по умолчанию. |
static void |
installProperty |
Вспомогательный метод для установки свойства с указанными именем и значением для компонента, если это свойство еще не задано разработчиком. |
abstract boolean |
isNativeLookAndFeel() |
Если базовая платформа имеет «собственный» внешний вид и поведение и этот класс является его реализацией, возвращает true. |
abstract boolean |
isSupportedLookAndFeel() |
Возвращает true, если базовая платформа поддерживает и/или допускает использование этого внешнего вида и поведения. |
static void |
loadKeyBindings |
Заполняет InputMap указанными привязками. |
static ComponentInputMap |
makeComponentInputMap |
Создает ComponentInputMapUIResource из keys. |
static Object |
makeIcon |
Создает и возвращает UIDefault.LazyValue, загружающий изображение. |
static InputMap |
makeInputMap |
Создает InputMapUIResource из keys. |
static JTextComponent.KeyBinding[] |
makeKeyBindings |
Вспомогательный метод для создания массива
KeyBindings. |
void |
provideErrorFeedback |
Вызывается, когда пользователь пытается выполнить недопустимую операцию, например вставить текст в нередактируемый JTextField, находящийся в фокусе. |
String |
toString() |
Возвращает строку, отображающую и описывающую свойства этого объекта. |
void |
uninitialize() |
Отменяет инициализацию внешнего вида и поведения. |
static void |
uninstallBorder |
Вспомогательный метод для удаления границы. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли какой-либо другой объект этому объекту. |
protected void |
finalize() |
Устарело и подлежит удалению: этот элемент API может быть удален в будущей версии. Финализация устарела и подлежит удалению в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
final void |
wait() |
Заставляет текущий поток ожидать до пробуждения, обычно посредством вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать до пробуждения, обычно посредством вызова notify или interrupt, либо до истечения заданного промежутка времени. |
final void |
wait |
Заставляет текущий поток ожидать до пробуждения, обычно посредством вызова notify или interrupt, либо до истечения заданного промежутка времени. |
Подробное описание конструкторов
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.