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

Улучшения AWT в Java™ Standard Edition 6.0

java.awt

Основные функции

Исправленные Ошибки
Известные Ошибки и Проблемы

Основные функции

Следующие функции были представлены в Java SE 6.0:

Модальность

Новая модель модальности была представлена, чтобы обработать блокирование модальности диалогового окна. Эта модель включает четыре типа модальности: немодальный, модальный приложением, модальный документом, и модальный инструментарием.

public Dialog(Window owner, String title,
                           Dialog.ModalityType modalityType,GraphicsConfiguration gc)

modalityTypes параметр определяет, блокирует ли диалоговое окно ввод к другим окнам когда показано. Нулевое значение и неподдерживаемые типы модальности эквивалентны немодальному типу. getModalityType и setModalityType методы Dialog class позволяет Вам соответственно возвращать и устанавливать тип модальности для диалогового окна.

Любое высокоуровневое окно может быть отмечено так, оно не будет блокировано модальными диалоговыми окнами. Это свойство позволяет Вам установить модальный режим исключения. setModalExclusionType метод Window class определяет один из следующих модальных режимов исключения: APPLICATION_EXCLUDE, TOOLKIT_EXCLUDE, или NO_EXCLUDE.

См., Как Использовать Модальность в Диалоговом разделе учебного руководства Swing для получения дополнительной информации о модальности.

Рабочий стол

Настольный API (java.awt.Desktop) API обеспечивается, чтобы позволить приложениям Java взаимодействовать с приложениями значения по умолчанию, связанными с определенными типами файла. Все, если действия представляются как a Desktop.Action экземпляр перечисления:

Используйте isSupported метод Desktop class, чтобы проверить, поддерживается ли действие на текущей платформе.

См., Как Интегрировать с Настольным разделом Класса учебного руководства Swing для получения дополнительной информации об использовании Desktop class.

Экран-заставка

Есть новое решение, которое позволяет приложению выводить на экран экран-заставку прежде, чем виртуальная машина запустится, был представлен. Хотя SplashScreen class нельзя предъявить иск, чтобы создать экран-заставку, приложение Java может закрыть экран-заставку, изменить изображение экрана-заставки, получить позицию/размер изображения и краску в экране-заставке. Экземпляр SplashScreen class может быть получен, используя getSplashScreen() статический метод.

Чтобы запустить приложение с экраном-заставкой из командной строки используют следующую команду:

java -splash:<file name> <class name>

См., Как Создать раздел Экрана-заставки Учебного руководства Swing для получения дополнительной информации об экране-заставке.

Системный лоток

SystemTray class предназначается, чтобы представить системный лоток для рабочего стола. К системному лотку можно получить доступ, вызывая getSystemTray() статический метод. Системный лоток может содержать один или более значков лотка, представленных TrayIcon Объекты class. Однако, TrayIcon Функциональность class не ограничивается созданием значка лотка. Это также включает текстовую подсказку, раскрывающееся меню, и сообщения воздушного шара:

TrayIcon trayIcon = new TrayIcon(createImage("icon.gif", "tray icon"));

trayIcon.displayMessage("Sun TrayIcon Demo", 
                        "This is an info message", TrayIcon.MessageType.INFO);
trayIcon.setToolTip("Sun TrayIcon");                    
                        

Отметьте: текущая реализация TrayIcon class оказывает ограниченную поддержку компонентов Swing. Предложение по обходному решению по этой проблеме описывается в Базе данных Ошибки, см. ID Ошибки 6285881

См., Как Использовать раздел Системного лотка Учебного руководства Swing для получения дополнительной информации о значках лотка и системном лотке.

Улучшения к Компонентам Layouting

Два новых метода java.awt.Component class включает, чтобы получить базовую линию, измеренную из вершины компонента и обработать базовое изменение как размер компонентных изменений:

FlowLayout:

Два метода были представлены, чтобы управлять выравниванием вертикальных составляющих вдоль их базовой линии:

GridBagLayout:

Следующие ограничения были добавлены к GridBagConstraints class, чтобы улучшить кладет компоненты пикника с GridBagLayout class:

Дополнительно GridBagLayoutInfo class был представлен хранилищу, выравнивают, измеряют, и базовые параметры для каждого компонента в пределах контейнера, в то время как кладут компонентное использование пикника GridBagLayout.

Улучшения Window class

Новые методы были добавлены к Window class, чтобы обработать изображения, которые выводятся на экран как значок для окна. В то время как setIconImage(Image image) метод устанавливает единственное изображение, setIconImages(List<? extends Image> icons) метод поддерживает последовательность изображений различных размерностей, которые будут применены в зависимости от возможностей платформы.

В Java SE 6 a Window или Dialog объект может быть создан без родительского фрейма, owner параметр в конструкторах таких объектов равняется null.

Исправленные Ошибки

Вот список ключевых исправлений ошибок:

6404008 Поставок событий от нажатия мыши зависят от, перетаскивают чувствительность:

Мышь перетащенные события были получены после перетащить установки чувствительности операционной системы, достигается. В предложенном решении игнорируется перетащить параметр расстояния операционной системы. Java перетаскивает события, будет ganerated в первом перемещении мыши.

6242833 курсор мыши не ведет себя должным образом после максимизации окна на Linux/JDS 3:

Некоторые события, важные для обновления курсора, не были поставлены в то время как maximazing окно. Фиксация включает обработку событий x-пересечения в пределах XWindow.

4841881: Переключение вкладок при использовании Alt+Tab на Windows L&F перемещает фокус в строку меню приложения

Используя Alt+Tab, чтобы переместиться от окна Java до собственного окна приложения и назад к окну Java привел к фокусу, перемещаемому в первый пункт меню окна Java. Предложенная фиксация позволяет сохранять фокус на первоначально фокусируемом компоненте окна Java.

6291992: Замораживаются все доступные для редактирования поля

Доступные для редактирования поля стали неспособными быть отредактированными или получить фокус (JTextField, JTextArea, и т.д.), даже в полях, которые были ранее отредактированы. Другие компоненты как поля комбинированного списка, таблицы, переключатели остаются доступными для редактирования.

6176814: Мультищелкните по обработке

Код XWindow.java испытывает недостаток во много обработке щелчка. Так, когда пользователь, перетащенный мышь на экране на поле Linux, двойные щелчки, произошел когда пользователь ожидаемые единственные щелчки. Аналогично, единственные щелчки произошли когда пользователь, ожидаемый никакие щелчки вообще. Фиксация включает AWT_MULTICLICK_SMUDGE переменная, чтобы применить фактор пятна так, чтобы перемещение мыши небольшим количеством не вытерло переменные состояния мультищелчка.

5051557: Апплет не отвечает на команды клавиатуры

Сам апплет не получал фокус, который очевидно пошел во встроенный фрейм. Эта несовместимость была вызвана переархитектурой фокуса, представленной в Java SE 1.4. Фиксация восстанавливает начальное правильное поведение.

4320050: Минимальный размер для a Frame объект не осуществляется

Window.setMinimumSize() метод был изменен, чтобы ограничить изменение размеров пользователя высокоуровневых окон ниже указанных размерностей. Ранее, минимальный набор размера для высокоуровневых окон был проигнорирован платформой, таким образом, это изменение может воздействовать на код, который использует minimumSize свойство высокоуровневых окон для его собственных потребностей.

6199167: Живое изменение размеров

У собственных приложений на Windows было свойство к динамически перерасположению и перекрашиванию во время изменения размеров. Этим свойством управляли посредством системных настольных настроек. Java отключает это свойство по умолчанию. В Java SE 6, который необходимое свойство, включает по умолчанию.

4360364: Кириллический ввод не поддерживается

Если локаль была определена неправильно, собственный Входной Метод не обработал keysyms и передал их, как к AWT handleKeyEvent подпрограмма. В фиксации таблица преобразования добавляется и ключевое событие, обрабатывающее обычно оптимизированный в не Входные ситуации с Методом.

Известные Ошибки и Проблемы

Вот список известных проблем, с которыми можно встретиться в выпуске 6.0.

5070056: JWindow компонент остается сверху всех других окон

JWindow компонент не ложится спать сверху всех других окон, скрывающих другие окна позади этого на Солярисе и Linux. К обходному решению можно использовать неукрашенный фрейм.

6387273: Катастрофический отказ JVM

В некоторых синтетических ситуациях (такой как повторено показ/избавление верхнего уровня) может отказать JVM.


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