Spec-Zone .ru
спецификации, руководства, описания, API
|
public abstract class LookAndFeel extends Object
LookAndFeel
, поскольку имя подразумевает, инкапсулирует стиль. Вне установки стили большинство разработчиков никогда не должно взаимодействовать непосредственно с LookAndFeel
. В общем только разработчики, создающие пользовательский стиль, должны интересоваться этим class. Swing создается на основе что каждый JComponent
у подкласса есть реализация определенного ComponentUI
подкласс. ComponentUI
часто упоминается как "ui", "компонент ui", или "стиль делегирует". ComponentUI
подкласс ответственен за обеспечение стили определенная функциональность компонента. Например, JTree
требует реализации ComponentUI
подкласс TreeUI
. Реализация определенного ComponentUI
подкласс обеспечивается LookAndFeel
. Каждый JComponent
подкласс идентифицирует ComponentUI
подкласс это требует посредством JComponent
метод getUIClassID
.
Каждый LookAndFeel
реализация должна обеспечить реализацию соответствующего ComponentUI
подкласс, определяя значение для каждого из ui идентификаторов class Swing в UIDefaults
объект, возвращенный из getDefaults
. Например, BasicLookAndFeel
использование BasicTreeUI
как конкретная реализация для TreeUI
. Это выполняется BasicLookAndFeel
обеспечение пары ключ/значение "TreeUI"-"javax.swing.plaf.basic.BasicTreeUI"
, в UIDefaults
возвращенный из getDefaults
. Обратитесь к UIDefaults.getUI(JComponent)
для defails, на как реализация ComponentUI
подкласс получается.
Когда a LookAndFeel
устанавливается UIManager
не проверяет, что запись существует для всех ui идентификаторов class. Также, случайные исключения произойдут, если текущий стиль не обеспечил значение для определенного ui идентификатора class и экземпляра JComponent
подкласс создается.
UIManager
каждый LookAndFeel
имеет возможность обеспечить ряд значений по умолчанию, которые являются многоуровневыми в с разработчиком и системными значениями по умолчанию. Некоторые из компонентов Swing требуют, чтобы стиль обеспечил определенный набор значений по умолчанию. Они документируются в классы, которые требуют определенного значения по умолчанию. ComponentUIs
обычно должен устанавливать различные свойства на JComponent
ComponentUI
обеспечивает стиль для. Это обычно делается когда ComponentUI
устанавливается на JComponent
. Установка свойства должна только быть сделана, если разработчик не установил свойство. Для непримитивных значений рекомендуется что ComponentUI
только измените свойство на JComponent
если текущая стоимость null
или реализации UIResource
. Если текущая стоимость null
или реализации UIResource
это указывает, что свойство не было установлено разработчиком, и ui свободен изменить это. Например, BasicButtonUI.installDefaults
только изменяет шрифт на JButton
если возвращаемое значение от button.getFont()
null
или реализации UIResource
. С другой стороны, если button.getFont()
возвращенный a non-null
значение, которое не реализовывало UIResource
тогда BasicButtonUI.installDefaults
не изменился бы JButton
's шрифт. Для примитивных значений, такой как opaque
, метод installProperty
должен быть вызван. installProperty
только изменяет correspoding свойство, если значение не было изменено разработчиком.
ComponentUI
реализации должны использовать различные методы установки, обеспеченные этим class, поскольку они обрабатывают необходимую проверку и устанавливают свойство, используя рекомендуемые направляющие линии.
LookAndFeel
потребность получить доступ к значениям по умолчанию, если значение изменяемого свойства null
или a UIResource
. Например, установка шрифта делает следующее: JComponent c; Font font = c.getFont(); if (font == null || (font instanceof UIResource)) { c.setFont(UIManager.getFont("fontKey")); }Если шрифт
null
или a UIResource
, таблица значений по умолчанию запрашивается с ключом fontKey
. Весь из UIDefault's
получите бросок методов a NullPointerException
если передано в null
. Также, если не указано иное каждый из различных методов установки LookAndFeel
бросок a NullPointerException
если текущая стоимость null
или a UIResource
и предоставленный ключ значений по умолчанию null
. Кроме того, если иначе не определено весь из install
методы бросают a NullPointerException
если a null
в компоненте передают.Конструктор и Описание |
---|
LookAndFeel() |
Модификатор и Тип | Метод и Описание |
---|---|
UIDefaults |
getDefaults()
Возвращает значения по умолчанию стили.
|
abstract String |
getDescription()
Возвратите одно описание строки этой реализации стили, например.
|
static Object |
getDesktopPropertyValue(String systemPropertyName, Object fallbackValue)
Возвращает значение указанного системного настольного свойства, вызывая
Toolkit.getDefaultToolkit().getDesktopProperty() . |
Значок |
getDisabledIcon(JComponent component, Icon icon)
Возвраты
Icon с отключенным появлением. |
Значок |
getDisabledSelectedIcon(JComponent component, Icon icon)
Возвраты
Icon для использования отключенными компонентами, которые также выбираются. |
abstract String |
getID()
Возвратите строку, которая идентифицирует этот стиль.
|
LayoutStyle |
getLayoutStyle()
Возвраты
LayoutStyle для этого стили. |
abstract String |
getName()
Возвратите короткую строку, которая идентифицирует этот стиль, например.
|
boolean |
getSupportsWindowDecorations()
Возвраты
true если LookAndFeel возвращенный RootPaneUI обеспечение поддержки экземпляров Window художественные оформления в a JRootPane . |
void |
initialize()
Инициализирует стиль.
|
static void |
installBorder(JComponent c, String defaultBorderName)
Метод удобства для того, чтобы установить свойство границы компонента со значением от значений по умолчанию.
|
static void |
installColors(JComponent c, String defaultBgName, String defaultFgName)
Метод удобства для того, чтобы установить свойства цвета переднего плана и цвета фона компонента со значениями от значений по умолчанию.
|
static void |
installColorsAndFont(JComponent c, String defaultBgName, String defaultFgName, String defaultFontName)
Метод удобства для того, чтобы установить передний план компонента, фон и свойства шрифта со значениями от значений по умолчанию.
|
static void |
installProperty(JComponent c, String propertyName, Object propertyValue)
Метод удобства для того, чтобы установить свойство с указанным именем и значением на компоненте, если то свойство не было уже установлено разработчиком.
|
abstract boolean |
isNativeLookAndFeel()
Если у базовой платформы есть "собственный" стиль, и это - реализация ее, возвратиться
true . |
abstract boolean |
isSupportedLookAndFeel()
Возвратиться
true если базовая платформа поддерживает и или разрешает этот стиль. |
static void |
loadKeyBindings(InputMap retMap, Object[] keys)
Заполняет
InputMap с указанной привязкой. |
static ComponentInputMap |
makeComponentInputMap(JComponent c, Object[] keys)
Создает a
ComponentInputMapUIResource от keys . |
static Object |
makeIcon(Class<?> baseClass, String gifFile)
Создает и возвращает a
UIDefault.LazyValue это загружает изображение. |
static InputMap |
makeInputMap(Object[] keys)
Создает a
InputMapUIResource от keys . |
static JTextComponent.KeyBinding[] |
makeKeyBindings(Object[] keyBindingList)
Метод удобства для создания массива
KeyBindings . |
void |
provideErrorFeedback(Component component)
Вызванный, когда пользователь делает попытку недопустимой работы, такой как вставка в недоступное для редактирования
JTextField это фокусируется. |
Строка |
toString()
Возвращает строку, которая выводит на экран и идентифицирует свойства этого объекта.
|
void |
uninitialize()
Деинициализирует стиль.
|
static void |
uninstallBorder(JComponent c)
Метод удобства для того, чтобы удалить границу.
|
public static void installColors(JComponent c, String defaultBgName, String defaultFgName)
null
или a UIResource
.c
- компонент, чтобы выбрать цвета наdefaultBgName
- ключ для фонаdefaultFgName
- ключ для переднего планаNullPointerException
- как описано в исключенияхinstallColorsAndFont(javax.swing.JComponent, java.lang.String, java.lang.String, java.lang.String)
, UIManager.getColor(java.lang.Object)
public static void installColorsAndFont(JComponent c, String defaultBgName, String defaultFgName, String defaultFontName)
null
или a UIResource
.c
- компонентный набор к цветам и шрифту наdefaultBgName
- ключ для фонаdefaultFgName
- ключ для переднего планаdefaultFontName
- ключ для шрифтаNullPointerException
- как описано в исключенияхinstallColors(javax.swing.JComponent, java.lang.String, java.lang.String)
, UIManager.getColor(java.lang.Object)
, UIManager.getFont(java.lang.Object)
public static void installBorder(JComponent c, String defaultBorderName)
null
или экземпляр UIResource
.c
- компонент, чтобы установить границу наdefaultBorderName
- ключ, определяющий границуNullPointerException
- как описано в исключенияхpublic static void uninstallBorder(JComponent c)
UIResource
, это устанавливается в null
.c
- компонент, чтобы удалить границу наNullPointerException
- если c
null
public static void installProperty(JComponent c, String propertyName, Object propertyValue)
UIResource
маркер, этот метод использует частное состояние, чтобы определить, было ли свойство установлено клиентом.c
- целевой компонент, чтобы установить свойство наpropertyName
- имя свойства, чтобы установитьpropertyValue
- значение свойстваIllegalArgumentException
- если указанное свойство не является тем, которое может быть установлено, используя этот методClassCastException
- если значение свойства не было установлено разработчиком, и тип не соответствует тип свойстваNullPointerException
- если c
null
, или именованное свойство не было установлено разработчиком и propertyValue
null
public static JTextComponent.KeyBinding[] makeKeyBindings(Object[] keyBindingList)
KeyBindings
. В то время как этот метод не осуждается, разработчики должны вместо этого использовать ActionMap
и InputMap
для того, чтобы предоставить привязки клавиш. Этот метод возвращает массив KeyBindings
, один для каждого чередования key-action
пара в keyBindingList
. A key
может или быть a String
в формате, определенном KeyStroke.getKeyStroke
метод, или a KeyStroke
. action
часть пары является a String
это соответствует имени Action
.
Следующий пример иллюстрирует создание a KeyBinding
массив от шести чередований key-action
пары:
JTextComponent.KeyBinding[] multilineBindings = makeKeyBindings( new Object[] { "UP", DefaultEditorKit.upAction, "DOWN", DefaultEditorKit.downAction, "PAGE_UP", DefaultEditorKit.pageUpAction, "PAGE_DOWN", DefaultEditorKit.pageDownAction, "ENTER", DefaultEditorKit.insertBreakAction, "TAB", DefaultEditorKit.insertTabAction });Если
keyBindingList's
длина нечетна, последний элемент игнорируется. Предоставление a null
значение для любого key
или action
часть key-action
парные результаты в создании a KeyBinding
с соответствующим значением null
. Поскольку другие части Swing ожидают non-null
значения в a KeyBinding
, следует избежать предоставлять null
как любой key
или action
часть key-action
пара.
keyBindingList
- массив key-action
парыKeyBindings
NullPointerException
- если keyBindingList
null
ClassCastException
- если key
часть пары не является a KeyStroke
или String
, или action
часть пары не является a String
ActionMap
, InputMap
, KeyStroke.getKeyStroke(char)
public static InputMap makeInputMap(Object[] keys)
InputMapUIResource
от keys
. Это - метод удобства для того, чтобы создать новое InputMapUIResource
, вызов loadKeyBindings(map, keys)
, и возврат InputMapUIResource
.keys
- переменные пары keystroke-action key
пары как описано в loadKeyBindings(javax.swing.InputMap, java.lang.Object[])
InputMapUIResource
loadKeyBindings(javax.swing.InputMap, java.lang.Object[])
public static ComponentInputMap makeComponentInputMap(JComponent c, Object[] keys)
ComponentInputMapUIResource
от keys
. Это - метод удобства для того, чтобы создать новое ComponentInputMapUIResource
, вызов loadKeyBindings(map, keys)
, и возврат ComponentInputMapUIResource
.c
- компонент, чтобы создать ComponentInputMapUIResource
сkeys
- переменные пары keystroke-action key
пары как описано в loadKeyBindings(javax.swing.InputMap, java.lang.Object[])
InputMapUIResource
IllegalArgumentException
- если c
null
loadKeyBindings(javax.swing.InputMap, java.lang.Object[])
, ComponentInputMapUIResource
public static void loadKeyBindings(InputMap retMap, Object[] keys)
InputMap
с указанной привязкой. Привязка предоставляется как список чередования keystroke-action key
пары. keystroke
любой экземпляр KeyStroke
, или a String
это идентифицирует KeyStroke
для привязки. Обратитесь к KeyStroke.getKeyStroke(String)
для определенного формата. action key
часть пары является ключом, зарегистрированным в InputMap
для KeyStroke
. Следующее иллюстрирует загрузку InputMap
с два key-action
пары:
LookAndFeel.loadKeyBindings(inputMap, new Object[] { "control X", "cut", "control V", "paste" });
Предоставление a null
список привязки (keys
) не изменяется retMap
всегда.
Определение a null
action key
результаты в удалении keystroke's
запись от InputMap
. A null
keystroke
игнорируется.
retMap
- InputMap
добавить key-action
пары кkeys
- привязка, чтобы добавить к retMap
NullPointerException
- если keys
non-null
, не пустой, и retMap
null
KeyStroke.getKeyStroke(String)
, InputMap
public static Object makeIcon(Class<?> baseClass, String gifFile)
UIDefault.LazyValue
это загружает изображение. Возвращенное значение является реализацией UIDefaults.LazyValue
. Когда createValue
вызывается на возвращенный объект, изображение загружается. Если изображение non-null
, это тогда обертывается в Icon
это реализует UIResource
. Изображение загружается, используя Class.getResourceAsStream(gifFile)
. Этот метод не проверяет параметры всегда. Этому строго рекомендуют это non-null
значения еще предоставляются, исключения могут произойти когда createValue
вызывается на возвращенный объект.
baseClass
- Class
используемый, чтобы загрузить ресурсgifFile
- путь к изображению, чтобы загрузитьсяUIDefaults.LazyValue
; когда разрешено LazyValue
загружает указанное изображениеUIDefaults.LazyValue
, Icon
, Class.getResourceAsStream(String)
public LayoutStyle getLayoutStyle()
LayoutStyle
для этого стили. Это никогда не возвращается null
. Вы обычно не используете LayoutStyle
от стили вместо этого используйте LayoutStyle
метод getInstance
.
LayoutStyle
для этого стилиLayoutStyle.getInstance()
public void provideErrorFeedback(Component component)
JTextField
это фокусируется. Звуковые сигналы реализации по умолчанию. Подклассы, которые желают различное поведение, должны переопределить это и обеспечить дополнительную обратную связь.component
- Component
ошибка произошла в, может быть null
указание на состояние ошибки непосредственно не связывается с a Component
public static Object getDesktopPropertyValue(String systemPropertyName, Object fallbackValue)
Toolkit.getDefaultToolkit().getDesktopProperty()
. Если значение указанного свойства null
, fallbackValue
возвращается.systemPropertyName
- имя системного настольного запрашиваемого свойстваfallbackValue
- объект, который будет возвращен как значение, если системное значение является нулемToolkit.getDesktopProperty(java.lang.String)
public Icon getDisabledIcon(JComponent component, Icon icon)
Icon
с отключенным появлением. Этот метод используется, чтобы генерировать отключенный Icon
когда каждый не был определен. Например, если Вы создаете a JButton
и только определите Icon
через setIcon
этот метод вызовут, чтобы генерировать отключенный Icon
. Если null
передается как icon
этот метод возвраты null
. Некоторый взгляд и чувства не могли бы представить отключенный Icon
, когда они проигнорируют это.
component
- JComponent
это выведет на экран Icon
, может быть null
icon
- Icon
генерировать отключенный значок отIcon
, или null
если подходящее Icon
не может быть сгенерированpublic Icon getDisabledSelectedIcon(JComponent component, Icon icon)
Icon
для использования отключенными компонентами, которые также выбираются. Этот метод используется, чтобы генерировать Icon
для компонентов, которые находятся в обоих отключенные и выбранные состояния, но не имеют определенного Icon
для этого состояния. Например, если Вы создаете a JButton
и только определите Icon
через setIcon
этот метод вызовут, чтобы генерировать отключенный и выбранный Icon
. Если null
передается как icon
это возвраты методов null
. Некоторый взгляд и чувства не могли бы представить отключенный и выбранный Icon
, когда они проигнорируют это.
component
- JComponent
это выведет на экран Icon
, может быть null
icon
- Icon
генерировать отключенный и выбранный значок отnull
если подходящее Icon
не может быть сгенерирован.public abstract String getName()
public abstract String getID()
public abstract String getDescription()
public boolean getSupportsWindowDecorations()
true
если LookAndFeel
возвращенный RootPaneUI
обеспечение поддержки экземпляров Window
художественные оформления в a JRootPane
. Возвраты реализации по умолчанию false
, подклассы та поддержка Window
художественные оформления должны переопределить это и возврат true
.
true
если RootPaneUI
экземпляры, создаваемые этим стилем, поддерживают клиентские художественные оформленияJDialog.setDefaultLookAndFeelDecorated(boolean)
, JFrame.setDefaultLookAndFeelDecorated(boolean)
, JRootPane.setWindowDecorationStyle(int)
public abstract boolean isNativeLookAndFeel()
true
. Например, когда базовой платформой является Солярис, выполняющий CDE, реализация стили CDE/Motif возвратилась бы true
.true
если этот стиль представляет базовый стиль платформыpublic abstract boolean isSupportedLookAndFeel()
true
если базовая платформа поддерживает и или разрешает этот стиль. Этот метод возвраты false
если стиль зависит от специальных ресурсов или юридических соглашений, которые не определяются для текущей платформы.true
если это - поддерживаемый стильUIManager.setLookAndFeel(javax.swing.LookAndFeel)
public void initialize()
UIManager
когда стиль устанавливается как текущий стиль. Этот метод вызывается перед UIManager
вызывает getDefaults
. Этот метод предназначается, чтобы выполнить любую инициализацию для стили. Подклассы должны сделать любую одноразовую установку, в которой они нуждаются здесь, а не в статическом инициализаторе, потому что стиль объекты class может быть загружен только, чтобы обнаружить это isSupportedLookAndFeel()
возвраты false
.public void uninitialize()
UIManager
когда стиль удаляется. Например, UIManager.setLookAndFeel
вызывает это, когда стиль изменяется. Подклассы могут хотеть освобождать некоторые ресурсы здесь.
public UIDefaults getDefaults()
UIManager
когда стиль устанавливается как текущий стиль и после initialize
был вызван.initialize()
, uninitialize()
, UIManager.setLookAndFeel(javax.swing.LookAndFeel)
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92