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

Изменения Swing Начиная с Java™ 2 SDK, Standard Edition, v 1.4

Изменения Swing и Новые Функции Java 2 SDK, Standard Edition, v 1.4 документа описывают изменения для всех 1.4.* выпусков. Этот документ обеспечивает ссылки к изменениям, определенным для 1.4.1 и 1.4.2 выпусков.

Изменения для Инкрементного Выпуска, Java 2 SDK, S.E., v1.4.1

Для Swing, этот выпуск прежде всего функции bugfixes. Ошибки, которые были исправлены, включают:

Фокусируйте связанные ошибки:

Перетащите и отбросьте связанные ошибки:

Разное:

Изменения для Инкрементного Выпуска, Java 2 SDK, S.E., v1.4.2

В дополнение ко многим bugfixes этот выпуск обладает этими новыми улучшениями:

Улучшения Производительности JFileChooser

Отчеты bugtraq, которые соответствуют этому изменению: 4679673 и 4712307.

Этот выпуск функции много улучшений производительности JFileChooser. В некоторых ситуациях, JFileChooser теперь выполняет в 300 раз быстрее.

Стиль Windows XP

Выпуск 1.4.2 представляет поддержку стандартного появления Microsoft Windows XP как значение по умолчанию, работая на платформе Windows XP. Этот стиль автоматически появляется, если Ваше приложение использует Swing WindowsLookAndFeel class (любой посредством UIManager.getSystemLookAndFeelClassName() или явно используя com.sun.java.swing.plaf.windows.WindowsLookAndFeel) на машине, выполняющей операционную систему Windows XP. Следующий пример иллюстрирует привилегированный способ установить стиль, чтобы соответствовать ту из собственной платформы:

  UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

Если Вы предпочитаете, чтобы Ваше приложение Swing было похоже на классическое Приложение Windows, можно повернуться взгляда XP, использующего системное свойство swing.noxp=true. Это обычно используется в качестве параметра командной строки, eg:

  java -Dswing.noxp=true -jar SwingSet2.jar

Отметьте что swing.noxp свойство не может поддерживаться в будущих выпусках.

GTK + стиль

Выпуск 1.4.2 представляет стиль, основанный на GTK + 2.0. Чтобы получить этот стиль, Вы должны явно попросить его посредством UIManager.setLookAndFeel("com.sun.java.swing.plaf.gtk.GTKLookAndFeel") или определяя системное свойство swing.defaultlaf быть com.sun.java.swing.plaf.gtk.GTKLookAndFeel. В следующем выпуске мы сделаем UIManager.getSystemLookAndFeelClassName() возвратите этот стиль когда приспособлено.

GTK + стиль может быть настроен посредством файлов ресурсов. GTK Swing + стиль использует следующий алгоритм, чтобы определить местоположение файлов ресурсов:

  1. Если системное свойство swing.gtkthemefile существует, проанализируйте это и остановка, например: java -Dswing.gtkthemefile=/tmp/customTheme -jar SwingSet2.jar.
  2. Если файл user.home/.gtkrc-2.0 существует, проанализируйте это и продолжайте.
  3. Определите пользователя выбранное имя темы (THEMENAME) посредством настольного свойства gnome.net/ThemeName который определяется, используя XSETTINGS. Если это свойство является нулем, использовать Default как THEMENAME.
    1. Если файл user.home/.themes/THEMENAME/gtk-2.0/gtkrc существует анализируют это и остановка.
    2. Если системное свойство swing.gtkthemedir существует и файл swing.gtkthemedir/THEMENAME/gtk-2.0/gtkrc существует, проанализируйте это и остановка.
    3. Если системное свойство swing.gtkthemedir не существует и файл /usr/share/themes/THEMENAME/gtk-2.0/gtkrc существует, проанализируйте это и остановка.
    4. Наконец, если swing.gtkthemedir определяется синтаксический анализ swing.gtkthemedir/THEMENAME/gtk/gtkrc, иначе синтаксический анализ /usr/share/themes/THEMENAME/gtk/gtkrc.

Одним путем GTK + может быть настроен, посредством механизма темы. Существует горстка механизмов. В 1.4.2, Swing поддерживает файлы темы для Default, pixmap, и bluecurve механизмы. Мы исследуем способы открыть API, чтобы учесть создание дополнительных механизмов GTK. Посещение http://www.themes.org к примерам.

GTK + учитывает определение шрифтов двумя способами: использование XLFD или использование строки pango. Pango предусматривает средства, подобные составным Шрифтам на платформе Java, то есть, шрифт, который состоит из многих различных шрифтов для различных кодовых точек. Поскольку составные шрифты pango точно не соответствуют составные шрифты Java, приложение Swing с GTKLookAndFeel не будет точно соответствовать собственный GTK + приложение. Мы исследуем способы иметь дело с этим. Одна опция должна заменить Ваш pango файл шрифта версией, эквивалентной font.properties файлу Java. Дополнительно мы в настоящий момент игнорируем XLFDs и передаем строки Pango (после отображения sans к sansserif и моноширинный к моноширинному) непосредственно к a java.awt.Font.

GTK + не обеспечивает MDI (JInternalFrame) возможности, и при этом это непосредственно не поддерживают theming высокоуровневых окон, скорее который оставляют до WindowManager. Для классов MDI Swing мы поддерживаем theming посредством Метагорода. Мы в настоящий момент только поддерживаем Crux и Bluecurve темы. Если мы не можем определить местоположение ни одной из этих тем, мы отступаем к нашей собственной теме. Можно использовать системное свойство swing.metacitythemename чтобы назвать определенную тему, чтобы использовать, иначе мы заглянем user.dir/.gconf/apps/metacity/general/%gconf.xml определить имя темы и заглянуть /usr/share/themes/THEMENAME/metacity-1/metacity-theme-1.xml или /usr/gnome/share/themes/THEMENAME/metacity-1/metacity-theme-1.xml для фактического файла ресурсов. Следующий пример показывает, как инициировать Swing, чтобы использовать определенную метагородскую тему:

  java -Dswing.metacitythemename=Bluecurve -jar SwingSet2.jar

GTK + файлы ресурсов учитывают настройку многих опций стили вне взгляда. В 1.4.2 мы поддерживаем основные конфигурации стиля (fg, bg, основа..), gtk-имя-шрифта, gtk-icon-sizes, значки запаса (для optionpane), focus-line-width, дополнение фокуса, образец строки фокуса, внутреннее дополнение, теневой тип (для строк меню), и граница канавки.

GTK обеспечивает механизм, для которого запущение приложений может поднять изменение темы и автоматически обновить UI, это будет поддерживаться в будущей версии стили Swing GTK.

GTK Incompatabilities

Правильно поддерживая GTK + стиль, поставленный много проблем к текущей архитектуре Swing. В Swing непрозрачный компонент ВСЕГДА красит свой фон посредством метода обновления ComponentUI в GTK +, ненепрозрачный компонент может или, возможно, не красит фон, в зависимости от механизма. Чтобы правильно зеркально отразить GTK +, много Компонентов, которые ранее были непрозрачны, были сделаны ненепрозрачными (посредством installUI метода подкласса ComponentUI). Дополнительно, потому что вид компонента может измениться основанный на иерархии включения, которую может изменить непрозрачность после того, как конструктор завершился. Разветвление этого - то, что, если Вы вызываете setOpaque () на компоненте, он может измениться из-под Вас. Мы фиксируем это в следующем выпуске.

GTK + вызовы в механизм, чтобы нарисовать декоративные обрамления перед фактическим содержанием виджета красятся. Некоторые механизмы, наиболее особенно механизм пиксельной карты, полагаются на это упорядочивание, чтобы правильно представить художественные оформления позади содержания. В Swing представляется граница после того, как содержание виджета красится. В GTKLookAndFeel мы устанавливаем Границу только, чтобы обеспечить пространство, и позволить UI делать фактический рендеринг декоративных обрамлений как часть метода краски. Разветвление этого - то, что, если Вы устанавливаете Границу на виджете с GTKLookAndFeel, Вы не будете, вероятно, получать эффект, который Вы после. Снова, мы исследуем альтернативы и обеспечим лучшее решение в следующем выпуске.

1.4.2 Ошибки

Одно упоминание ценности ошибки:

Oracle и/или его филиалы Авторское право © 1993, 2012, Oracle и/или его филиалы. Все права защищены.
Свяжитесь с Нами