|
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 nullpublic static void installProperty(JComponent c, String propertyName, Object propertyValue)
UIResource маркер, этот метод использует частное состояние, чтобы определить, было ли свойство установлено клиентом.c - целевой компонент, чтобы установить свойство наpropertyName - имя свойства, чтобы установитьpropertyValue - значение свойстваIllegalArgumentException - если указанное свойство не является тем, которое может быть установлено, используя этот методClassCastException - если значение свойства не было установлено разработчиком, и тип не соответствует тип свойстваNullPointerException - если c null, или именованное свойство не было установлено разработчиком и propertyValue nullpublic 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 парыKeyBindingsNullPointerException - если keyBindingList nullClassCastException - если key часть пары не является a KeyStroke или String, или action часть пары не является a StringActionMap, 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[])InputMapUIResourceloadKeyBindings(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[])InputMapUIResourceIllegalArgumentException - если c nullloadKeyBindings(javax.swing.InputMap, java.lang.Object[]), ComponentInputMapUIResourcepublic 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 - привязка, чтобы добавить к retMapNullPointerException - если keys non-null, не пустой, и retMap nullKeyStroke.getKeyStroke(String), InputMappublic 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 Componentpublic 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, может быть nullicon - 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, может быть nullicon - 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