Spec-Zone .ru
спецификации, руководства, описания, API
|
Эта функция включает две области:
На платформе Windows пользователи могут настроить свои GUI через опцию "Properties" от раскрывающегося меню рабочего стола. Чтобы гарантировать, что Windows Look and Feel Swing должным образом реализует визуальное и поведенческое предпочтение пользователя, он должен получить значения этих свойств UI из системного реестра. Значения для этих свойств будут восстановимы от getDesktopProperty()
метод на java.awt. Инструментарий.
Большинство свойств, доступных через этот метод, является определенным для платформы Windows и следовательно имеет "победу". префикс. Список поддерживаемых имен свойства Windows может быть получен programmaticallyby запросы "win.propNames" свойства:
String propnames[] = (String[])Toolkit.getDefaultToolkit().getDesktopProperty("win.propNames"); System.out.println("Supported windows property names:"); for(int i = 0; i < propnames.length; i++) { System.out.println(propnames[i]); }
Свойства, которые поддерживаются на всех платформах, начинаются с "awt". префикс.
Программы не должны получить доступ к этим свойствам непосредственно; стиль Windows автоматически считает и интерпретирует эти свойства, чтобы обеспечить надлежащий visuals и поведение для компонентов.
Пользовательская настройка |
Имя Свойства Java |
Ввести |
---|---|---|
3-D Фон объекта | "победа 3d.backgroundColor" | java.awt. Цвет |
3-D Объектное Выделение | "победа 3d.highlightColor" | java.awt. Цвет |
3-D Объектное Легкое Выделение | "победа 3d.lightColor" | java.awt. Цвет |
3-D Объектная Тень | "победа 3d.shadowColor" | java.awt. Цвет |
Активная Строка заголовка color1 | "win.frame.activeCaptionColor" | java.awt. Цвет |
Активная Строка заголовка color2 | "win.frame.activeCaptionGradientColor" (TBI) | java.awt. Цвет |
Активный цвет шрифта Строки заголовка | "win.frame.captionTextColor" | java.awt. Цвет |
Цвет Границы Активного окна | "win.frame.activeBorderColor" | java.awt. Цвет |
Цвет фона приложения | "win.mdi.backgroundColor" | java.lang. Цвет |
Настольный цвет | "win.desktop.backgroundColor" | java.awt. Цвет |
Неактивная Строка заголовка color1 | "win.frame.inactiveCaptionColor" | java.awt. Цвет |
Неактивная Строка заголовка color2 | "win.frame.inactiveCaptionGradientColor" (TBI) | java.awt. Цвет |
Неактивный цвет шрифта Строки заголовка | "win.frame.inactiveCaptionTextColor" | java.awt. Цвет |
Неактивный цвет Границы окна | "win.frame.inactiveBorderColor" | java.awt. Цвет |
Цвет меню | "win.menu.backgroundColor" | java.awt. Цвет |
Цвет шрифта меню | "win.menu.textColor" | java.awt. Цвет |
Цвет шрифта Окна сообщения | "win.frame.textColor?????" | java.awt. Цвет |
Цвет Выбранных пунктов | "win.item.highlightColor" | java.awt. Цвет |
Цвет шрифта Выбранных пунктов | "win.item.highlightTextColor" | java.awt. Цвет |
Цвет ToolTip | "win.tooltip.backgroundColor" | java.awt. Цвет |
Цвет шрифта ToolTip | "win.tooltip.textColor" | java.awt. Цвет |
Цвет окна | "win.frame.backgroundColor" | java.awt. Цвет |
Цвет шрифта окна | "win.frame.textColor" | java.awt. Цвет |
Горячий цвет отслеживания | "win.item.hotTrackedColor" | java.awt. Цвет |
Пользовательская настройка |
Имя Свойства Java |
Ввести |
---|---|---|
Активный размер Строки заголовка | "win.frame.captionHeight" | java.lang. Целое число |
Размер Границы Активного окна | "win.frame.sizingBorderWidth" | java.lang. Целое число |
Размер Кнопок заголовка | "win.frame.captionButtonHeight" "win.frame.captionButtonWidth" win.frame.captionHeight" |
java.lang. Целое число |
Размер значка | "win.icon.hspacing" "win.icon.vspacing"??? |
java.lang. Целое число |
Пространство по горизонтали значка | "win.icon.hspacing" | java.lang. Целое число |
Пространство по вертикали значка | "win.icon.vspacing" | java.lang. Целое число |
Неактивный размер Строки заголовка | "win.frame.captionButtonHeight" "win.frame.captionButtonWidth" "win.frame.captionHeight" |
java.lang. Целое число |
Неактивный размер Границы окна | "win.frame.sizingBorderWidth" | java.lang. Целое число |
Размер шрифта меню | "win.menu.font" "win.menu. height" |
java.lang. Целое число |
Размер меню | "win.menu. height" "win.menu.buttonWidth" |
java.awt. Целое число |
Размер Заголовка палитры | "win.frame.smallCaptionHeight" "win.frame.smallCaptionButtonHeight" "win.frame.smallCaptionButtonWidth" |
java.lang. Целое число |
Полоса прокрутки width | "win.scrollbar. width" | java.lang. Целое число |
Полоса прокрутки height | "win.scrollbar. height" | java.lang. Целое число |
Размер Выбранных пунктов | "win.menu. height" "win.menu.buttonWidth" |
java.lang. Целое число |
Пользовательская настройка |
Имя Свойства Java |
Ввести |
---|---|---|
Активный шрифт Строки заголовка | "win.frame.captionFont" | java.awt. Шрифт |
Шрифт значка | "win.icon.font" | java.awt. Шрифт |
Неактивный шрифт Строки заголовка | "win.frame.captionFont" | java.awt. Шрифт |
Шрифт меню | "win.menu.font" | java.awt. Шрифт |
Шрифт Окна сообщения | "win.messagebox.font" | java.awt. Шрифт |
Шрифт Заголовка палитры | "win.frame.smallCaptionFont" | java.awt. Шрифт |
Шрифт Выбранных пунктов | "win.menu.font" | java.awt. Шрифт |
Шрифт ToolTip | "win.tooltip.font" | java.awt. Шрифт |
Теперь программы Swing, работающие в стили Windows, представят с системным набором шрифтов пользователем вместо определенного с помощью Java шрифта. Так как это может вызвать проблемы совместимости для программ, которые зависят от старого поведения (из-за проблем геометрии, зависимостей от локализации от определенных глифов шрифта, и т.д.), свойство периода выполнения было обеспечено, чтобы позволить этой функции быть выключенной по мере необходимости:
java -Dswing.useSystemFontSettings=false MyJavaProgram
Пользовательская настройка |
Имя Свойства Java |
Ввести |
---|---|---|
Значок обертывание title | "win.icon.titleWrappingOn" | java.lang. Булев |
Окно Перетаскивает эффекты | "win.frame.fullWindowDragOn" | java.lang. Булев |
Дисплей Перемещения с помощью клавиатуры | "win.menu.keyboardCuesOn" (TBI) | java.lang. Булев |
Горячее отслеживание на панелях инструментов/строках меню | "win.item.hotTrackingOn" | java.lang. Булев |
Градиенты Строки заголовка | "win.frame.captionGradientsOn" | java.lang. Булев |
Пользовательская настройка |
Имя Свойства Java |
Ввести |
---|---|---|
Звук значения по умолчанию | "win.sound.default" | java.lang. Выполнимый |
Близкий звук | "win.sound.close" | java.lang. Выполнимый |
Максимизируйте звук | "win.sound.maximize" | java.lang. Выполнимый |
Минимизируйте звук | "win.sound.minimize" | java.lang. Выполнимый |
Звук Команды меню | "win.sound.menuCommand" | java.lang. Выполнимый |
Меню Раскрывающийся звук | "win.sound.menuPopup" | java.lang. Выполнимый |
Открытый звук | "win.sound.open" | java.lang. Выполнимый |
Восстановите Вниз звук | "win.sound.restoreDown" | java.lang. Выполнимый |
Восстановите звук | "win.sound.restoreUp" | java.lang. Выполнимый |
Системный звук Звездочки | "win.sound.asterisk" | java.lang. Выполнимый |
Системный звук Восклицания | "win.sound.exclamation" | java.lang. Выполнимый |
Системный звук Выхода | "win.sound.exit" | java.lang. Выполнимый |
Системный звук Руки | "win.sound.hand" | java.lang. Выполнимый |
Звук Вопроса о системе | "win.sound.question" | java.lang. Выполнимый |
Система Запускает звук | "win.sound.start" | java.lang. Выполнимый |
Отметьте, что объект, возвращенный для звукового свойства, просто a Runnable
это играет текущий аудиоклип для того свойства. Это означает, что нет никакой потребности в том, чтобы наблюдать за динамическими изменениями, чтобы звучать как свойства, потому что значение свойства звука является живой ссылкой к текущей звуковой установке.
Пользовательская настройка |
Имя Свойства Java |
Ввести |
---|---|---|
Дважды щелкните по интервалу | "awt.multiClickInterval" | java.lang. Целое число |
Частота мигания курсора | "awt.cursorBlinkRate" (TBI) | java.lang. Целое число |
В JDK 1.3, AWT, добавленный возможность зарегистрировать для уведомления, когда одно из этих настольных изменений значений свойств. Это поддерживается через addPropertyChangeListener()
метод на java.awt. Инструментарий. Windows Look and Feel Swing будет использовать этот механизм, чтобы наблюдать за событиями изменения динамического свойства на визуальных свойствах, и обновить GUI, удаляя и переустанавливая делегатов UI для компонентов, чтобы иметь большинство актуальных визуальных значений свойств. Это динамическое поведение автоматически произойдет для всех программ Swing, выполняющих стиль Windows.
Этот механизм обновит компоненты GUI, пересекая иерархию GUI (запускающийся с Frame.getFrames()
и пересечение всех окон/контейнеров/компонентов оттуда). Если у клиента есть какие-либо невизуализуемые компоненты, когда это происходит (см. isDisplayable()
метод на java.awt. Компонент для определения того, когда компонент является визуализуемым), те компоненты не будут обновлять автоматически, и это будет клиентская обязанность программы обновить UI на тех компонентах, чтобы гарантировать, что их Стиль актуален. Например, это происходит в демонстрационном примере SwingSet2, потому что демонстрационные панели создаются, но не добавляются к GUI heirarchy, пока они не выбираются из tabbedpane демонстрационного примера. Поэтому, прежде, чем недавно выбранная демонстрационная панель добавляется к иерархии, ее UI обновляется, чтобы гарантировать, что у этого есть актуальнейшие настройки свойства:
fragment from SwingSet2.java: // Ensure panel's UI is current before making visible JComponent currentDemoPanel = demo.getDemoPanel(); SwingUtilities.updateComponentTreeUI(currentDemoPanel); // Replace current demo with newly selected demo demoPanel.removeAll(); demoPanel.add(currentDemoPanel, BorderLayout.CENTER);