Новая модель модальности была представлена, чтобы обработать блокирование модальности диалогового окна. Эта модель включает четыре типа модальности: немодальный, модальный приложением, модальный документом, и модальный инструментарием.
modalityTypes параметр определяет, блокирует ли диалоговое окно ввод к другим окнам когда показано. Нулевое значение и неподдерживаемые типы модальности эквивалентны немодальному типу. getModalityType и setModalityType методы Dialog класс позволяет Вам соответственно возвращать и устанавливать тип модальности для диалогового окна.
Любое высокоуровневое окно может быть отмечено так, оно не будет блокировано модальными диалоговыми окнами. Это свойство позволяет Вам установить модальный режим исключения. setModalExclusionType метод Window класс определяет один из следующих модальных режимов исключения: APPLICATION_EXCLUDE, TOOLKIT_EXCLUDE, или NO_EXCLUDE.
Настольный API (java.awt.Desktop) API обеспечивается, чтобы позволить приложениям Java взаимодействовать с приложениями по умолчанию, связанными с определенными типами файлов. Все, если действия представляются как a Desktop.Action экземпляр перечисления:
ОБЗОР — Представляет действие обзора, выполняемое браузером узла по умолчанию.
ПОЧТА — Представляет почтовое действие, выполняемое почтовым клиентом узла по умолчанию.
ОТКРЫТЫЙ — Представляет открытое действие, выполняемое приложением, связанным с открытием определенного типа файла.
РЕДАКТИРОВАНИЕ — Представляет действие редактирования, выполняемое приложением, связанным с редактированием определенного типа файла
ПЕЧАТЬ — Представляет действие печати, выполняемое приложением, связанным с печатью определенного типа файла.
Используйте isSupported метод Desktop класс проверки, поддерживается ли действие на текущей платформе.
Есть новое решение, которое позволяет приложению выводить на экран экран-заставку прежде, чем виртуальная машина запустится, был представлен. Хотя SplashScreen классу нельзя предъявить иск, чтобы создать экран-заставку, приложение Java может закрыть экран-заставку, изменить изображение экрана-заставки, получить позицию/размер изображения и краску в экране-заставке. Экземпляр SplashScreen класс может быть получен, используя getSplashScreen() статический метод.
Чтобы запустить приложение с экраном-заставкой из командной строки используют следующую команду:
java -splash:<file name> <class name>
См., Как Создать раздел Экрана-заставки Учебного руководства Swing для получения дополнительной информации об экране-заставке.
SystemTray класс предназначается, чтобы представить системный лоток для рабочего стола. К системному лотку можно получить доступ, вызывая getSystemTray() статический метод. Системный лоток может содержать один или более значков лотка, представленных TrayIcon объекты класса. Однако, TrayIcon функциональность класса не ограничивается созданием значка лотка. Это также включает текстовую подсказку, раскрывающееся меню, и сообщения воздушного шара:
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 класс оказывает ограниченную поддержку компонентов Swing. Предложение по обходному решению по этой проблеме описывается в Базе данных Ошибки, см. ID Ошибки 6285881.
См., Как Использовать раздел Системного лотка Учебного руководства Swing для получения дополнительной информации о значках лотка и системном лотке.
Два новых метода java.awt.Component включение класса, чтобы получить базовую линию, измеренную из вершины компонента и обработать базовое изменение как размер компонентных изменений:
Следующие ограничения были добавлены к GridBagConstraints класс, чтобы улучшить кладет компоненты пикника с GridBagLayout класс:
BASELINE
BASELINE_LEADING
BASELINE_TRAILING
ABOVE_BASELINE
ABOVE_BASELINE_LEADING
ABOVE_BASELINE_TRAILING
BELOW_BASELINE
BELOW_BASELINE_LEADING
BELOW_BASELINE_TRAILING
Дополнительно GridBagLayoutInfo класс был представлен хранилищу, выравнивают, измеряют, и базовые параметры для каждого компонента в пределах контейнера, в то время как кладут компонентное использование пикника GridBagLayout.
Новые методы были добавлены к Window класс, чтобы обработать изображения, которые выводятся на экран как значок для окна. В то время как 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, и т.д.), даже в полях, которые были ранее отредактированы. Другие компоненты как поля комбинированного списка, таблицы, переключатели остаются доступными для редактирования.
Код XWindow.java испытывает недостаток во много обработке щелчка. Так, когда пользователь, перетащенный мышь на экране на поле Linux, двойные щелчки, произошел когда пользователь ожидаемые единственные щелчки. Аналогично, единственные щелчки произошли когда пользователь, ожидаемый никакие щелчки вообще. Фиксация включает AWT_MULTICLICK_SMUDGE переменная, чтобы применить фактор пятна так, чтобы перемещение мыши небольшим количеством не вытерло переменные состояния мультищелчка.
Сам апплет не получал фокус, который очевидно пошел во встроенный фрейм. Эта несовместимость была вызвана переархитектурой фокуса, представленной в Java SE 1.4. Фиксация восстанавливает начальное правильное поведение.
4320050: Минимальный размер для a Frame объект не осуществляется
Window.setMinimumSize() метод был изменен, чтобы ограничить изменение размеров пользователя высокоуровневых окон ниже указанных размерностей. Ранее, минимальный набор размера для высокоуровневых окон был проигнорирован платформой, таким образом, это изменение может воздействовать на код, который использует minimumSize свойство высокоуровневых окон для его собственных потребностей.
У собственных приложений на Windows было свойство к динамически перерасположению и перекрашиванию во время изменения размеров. Этим свойством управляли посредством системных настольных настроек. Java отключает это свойство по умолчанию. В Java SE 6 необходимое свойство является включениями по умолчанию.
Если локаль была определена неправильно, собственный Входной Метод не обработал keysyms и передал их, как к AWT handleKeyEvent подпрограмма. В фиксации таблица преобразования добавляется и ключевое событие, обрабатывающее обычно оптимизированный в не Входные ситуации с Методом.
Вот список известных проблем, с которыми можно встретиться в выпуске 6.0.
5070056:JWindow компонент остается сверху всех других окон
JWindow компонент не ложится спать сверху всех других окон, скрывающих другие окна позади этого на Солярисе и Linux. К обходному решению можно использовать неукрашенный фрейм.