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

Улучшения AWT в Java 2 Платформы Standard Edition 5.0

Существенные изменения
Окно Bugfixes и Улучшения
DnD и Передача данных Bugfixes и Улучшения
Расположение Bugfixes
Разный Bugfixes
Известные Ошибки и Проблемы

Существенные изменения

4615479: XToolkit на Солярисе и Linux

В этом выпуске AWT был повторно реализован на платформах Linux и Солярисе. Возможно вызвать инструментарий Мотива на Linux или XAWT на Солярисе. Это делается любой, устанавливая AWT_TOOLKIT переменная или использование -Dawt.toolkit параметр командной строки. Значение для XAWT sun.awt.X11.XToolkit и значение для Мотива sun.awt.motif.MToolkit. Для получения дополнительной информации см. XToolkit на ноте Соляриса/Linux.

4638443: Поддержка XDnD

С этого выпуска поддержка Протокола XDnD была реализована как часть системы передачи данных. До этого выпуска только Мотив протокол DnD поддерживался на X11.

4009555: Получение расположения мыши на рабочем столе

API был добавлен, чтобы получить расположение мыши на рабочем столе. Новый класс PointerInfo описывает координаты указателя и связанное GraphicsDevice возразите в настоящее время PointerInfo экземпляр создается. PointerInfo имеет следующие методы:

У нового класса MouseInfo есть информация о текущем расположении указателя мыши. MouseInfo имеет два метода:

Другие новые методы:

java.awt. Component.getMousePosition ()
java.awt. Container.getMousePosition (булевская переменная)
java.awt. Toolkit.getMouseInfoPeer

Окно Bugfixes и Улучшения

4632143: Окно, Фрейм или Диалоговое окно Поверх остальных окон

Новый API был добавлен, чтобы гарантировать что деталь Window, Frame или Dialog имеет поверх остальных окон рабочий стол. Это полезно, реализовывая определенные элементы GUI, такие как панели инструментов, уведомление или информационные апплеты, и другие улучшающие рабочий стол функции. Новый и измененный API включает:

В зависимости от системной установки поверх остальных окон не могут поддерживаться Windows, Фреймы или Диалоговые окна. Они поддерживаются на Microsoft Windows, Linux и Солярисе, выполняющем GNOME2/Metacity, так же как Linux, выполняющий KDE/kwin. Они не поддерживаются на Солярисе, выполняющем CDE/dtwm. Возможно, что поверх остальных окон окна не работают над Linux или Солярисом рабочий сеанс и менеджеры окон кроме упомянутых выше.

4102292: Новый API, чтобы Определить Расположение Окна По умолчанию Платформой

Два новых метода и одно новое свойство позволяют пользователю определять расположение по умолчанию для нового Window, приспособьте платформе. Это особенно важно для X11. Новый api включает: Отметьте что locationByPlatform свойство должно быть установлено в истину для базового менеджера окон разместить окно рядом согласно своей собственной логике. Иначе, AWT не будет знать, было ли окно помещено в 0,0 преднамеренно или было только неуказанным, и окно будет помещено в верхний левый угол экрана.

4101435: Window/Dialog/Frame.setLocation не всегда работает как ожидалось

Расположение и размер Windows, Диалоговых окон и Фреймов, находятся под контролем системы управления окнами рабочего стола, не приложением или инструментарием. Менеджер окон свободен проигнорировать или изменить запрос размещения окна. Поэтому, вызывая Window.setLocation (x, y), невозможно положиться на Окно, перемещаемое в расположение (x, y). Та же самая ситуация существует для Window.setSize и Window.setBounds. Документация Окна была разъяснена, чтобы объяснить это.

4401846: Новая _JAVA_AWT_WM_STATIC_GRAVITY Переменная окружения

Определенная позиция менеджеров окон окна AWT неправильно. Например, окно, которое требуют быть перемещенным в (0,0) под некоторыми менеджерами окон, будет расположено так, чтобы заголовок окна и уехал, граница являются внеэкранными. Это - то, потому что есть две школы менеджеров окон, которые не соглашаются на интерпретации спецификации ICCCM для запросов ConfigureRequest, что программы X11 делают, чтобы расположить их окна.

Решать эту проблему, _JAVA_AWT_VM_STATIC_GRAVITY переменная окружения была добавлена так, чтобы продвинутый пользователь мог указать, что его менеджер окон реализует поведение StaticGravity.

DnD и Передача данных Bugfixes и Улучшения

4378091: Новый метод DropTarget.getTransferable

Новый метод java.awt.dnd.DropTargetDragEvent.getTransferable позволяет цели отбрасывания получить доступ к данным передачи во время перетащить работы.

Это также исправляет ошибку 4248542: DropTargetListener не может получить доступ к передаваемому в dragOver и dragEnter.

4259272: Уведомление об изменениях содержания Буфера обмена теперь поддерживается

Ранее, API буфера обмена Java не позволял эффективному способу отследить изменения к набору DataFlavors, доступного на буфере обмена или уведомить заинтересованные стороны о тех изменениях. API был добавлен с этой целью:

4287795: Новые методы для того, чтобы запросить информацию в Буфере обмена

Были добавлены три новых метода:

4790833: Использование памяти Больше Не Поднимает использование Clipboard.getContents

До этого выпуска, Clipboard.getContents выбранные данные буфера обмена всего обеспеченный форматы, для которых существует отображение на соответствующую разновидность данных в карте разновидности по умолчанию. Если было много форматов, и данные были большими, много памяти было поглощенно выбранными данными в различных форматах. Благодаря новым методам, начатым с исправления ошибки 4287795, была решена эта проблема.

4415175: Новый API, чтобы Глобально Изменить Порог Движения Жеста DnD

Перетащить порог жеста движения представляет число пикселей, курсор перетаскивается прежде, чем система передачи данных инициирует перетащить работу. До этого выпуска это было трудно кодировано к 5 пикселям. С выпуска 5.0 есть поддержка собирания настольных свойств для, перетаскивают чувствительность и отображение этого к порогу, и новому API, который позволяет пользователям получать и изменять этот порог. Новый API включает:

4712068: Проблема Удобства пользования DnD для Перетаскивания текста

До этого выпуска горячая точка значков отбрасывания, используемых на X платформах, была расположена в середину значка. Перетаскивая текст, текстовый курсор перемещается, чтобы указать на текущее расположение отбрасывания, но это было obscurbed значком отбрасывания непосредственно. Для этого выпуска курсоры отбрасывания, используемые на X платформах, были изменены, чтобы указать на верхний левый угол значка отбрасывания. Соответствующие горячие точки были изменены соответственно.

4191708: Разъяснение в спецификации для нескольких java.awt.dnd. Методы DropTarget

Документ был разъяснен относительно передачи в нулевом параметре для следующего java.awt.dnd.DropTarget методы:

4819437: DragSourceListener.dragExit теперь вызывают непротиворечивым способом

Спецификация класса для классов DragSourceAdapter и DragSourceAdapter, и документация для методов DragSourceAdapter.dragExit и DragSourceListener.dragExit были обновлены, чтобы разъяснить понятие, что сайт отбрасывания связывается с предыдущим звонком dragEnter.

4654688: Методы SystemFlavorMap, Теперь Непротиворечивые с Документацией

SystemFlavorMap класс используется, чтобы сохранить отображения между собственными форматами и разновидностями данных Java, чтобы поддерживать передачу данных между приложениями Java и собственным. Документация для SystemFlavorMap.getNativesForFlavor (DataFlavor) метод была разъяснена, чтобы сказать это a DataFlavor (или собственный формат), известен, если и только если у него есть по крайней мере одно статическое отображение, связанное с этим.

4123385: Разъяснение документации для Перетаскивает Исходных Конструкторов Конструкторов Событий

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

Расположение Bugfixes

GridBagLayout Bugfixes

GridBagLayout: Несколько bugfixes были реализованы для GridBagLayout. Отметьте, что две из этих перечисленных ошибок применяются к документации только. Старшие значащие bugfixes включают:

4254022: Больше чем 512 горизонтальных или вертикальных составляющих теперь возможны в GridBagLayout

Ранее, GridBagLayout был реализован с трудно кодированным пределом ширины и высоты 512. Это теперь выделяется динамически, и константа MAXGRIDSIZE больше не используется.

4532201: Документ GridBagLayout.lookupConstraints разъясняется

Документация была добавлена, чтобы разъяснить то, что происходит, когда указанный Компонент не находится в расположении сумки сетки.

4618355: Документ для GridBagLayout.gridwidth/gridheight разъясняется

Спецификация класса для GridBagLayout.gridwidth/gridheight сбивала с толку в ее описании ОСТАТКА и РОДСТВЕННИКА. Это было исправлено.

FlowLayout Bugfixes

FlowLayout: Несколько ошибок документации были исправлены для FlowLayout

4586806: Спецификация FlowLayout исправляется относительно выравнивания

Ранее, спецификация класса, утвержденная, что компоненты центрируются на строке. Фактически, align свойство определяет, как компоненты размечаются. Документ был исправлен.

4881919: Спецификация класса FlowLayout больше не подразумевает, что компоненты всегда слева направо

Спецификация класса FlowLayout была записана прежде, чем возможность пойти справа налево была добавлена. Поэтому это предполагало, что слева направо была единственная возможная ориентация. Документ был исправлен.

4587456: Исправленная спецификация для конструктора FlowLayout

Ранее, документ для конструктора FlowLayout забыл упоминать, что hgap и vap были применены к интервалу между компонентами и контейнерной границей так же как между компонентами. Документация была исправлена.

4172932: Новые методы, чтобы получить ограничения для дочерних элементов в BorderLayout

Три открытых метода были добавлены к BorderLayout, один, чтобы получить ограничения для компонента, и два различных способа получить компонент для данного ограничения (каждый принимает во внимание компонентную ориентацию и другой, не делает). Новые методы:

4515041: Разъясненная спецификация для GridLayout.layoutContainer относительно vgap и hgap params

Ранее, спецификация для layoutContainer, утвержденного, что vgap и hgap были добавлены между каждой ячейкой и между первой/последней ячейкой и границей. В действительности разрывы применяются между компонентами только. Это было исправлено в документе.

Разный Bugfixes

4533021: Новый API, чтобы Изменить Z-упорядочивание Дочерних элементов

Новый API был добавлен, чтобы определить z-упорядочивание дочерних элементов в a Container. Новые два Container методы включают:

4370733: AWTKeyStroke.getAWTKeyStroke (Строка) и toString теперь симметричны

Ранее не было возможно взять вывод от AWTKeyStroke.toString и передайте это к getAWTKeyStroke метод. Это было изменено так методы

4341785: Разъясните спецификацию для нескольких методов List

Спецификация для следующего List методы были разъяснены, чтобы утвердить, что неуказанное поведение заканчивается, когда диапазон за пределы:

4368570: Разъясните спецификацию Списка относительно поведения щелчка по выбранному пункту

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

4082708: Разъясненная спецификация для метода ContainerEvent.getContainer

Метод ContainerEvent.getContainer принимает это source имеет тип Container. Ранее, это casted источник, чтобы ввести Container без первой проверки, которая могла привести к ClassCastException. Метод был изменен, чтобы возвратить значение нуля, если источник не является a Container.

4620715: Новый KeyEvent кодирует для двух стандартных ключей Microsoft Windows.

Два включает стандартную клавиатуру Microsoft Windows, не имеют Java keycodes ⠀” ключ окон и ключ контекстного меню. Это препятствует возможности удовлетворить 508 требований. Поэтому, java.awt.event.KeyEvent.VK_WINDOWS и java.awt.event.KeyEvent.VK_CONTEXT_MENU keycodes были добавлены.

4829063: Полоса прокрутки теперь определяет, что ползунок Полосы прокрутки, возможно, не видим

Ранее, документ для Scrollbar.getVisibleAmount и setVisibleAmount не говорил, что иногда ползунок не мог бы быть видимым или точно описать то, для чего используется диапазон полосы прокрутки. Спецификация была очищена. Это - изменение только для документа.

4840172: Поведение KeyEvent.getKeyChar разъясняется

Использование KeyEvent.getKeyChar объясняется в документации класса KeyEvent, но документ для самого метода был краток. Документ для getKeyChar был улучшен для этого выпуска.

4233061: Разъясните спецификацию, которые ВХОДЯТ, не увольняет ActionEvent

Есть беспорядок среди некоторых разработчиков это, когда фокус находится на a Button, нажатие клавиши ENTER не стреляет ActionEvent. Это - корректное поведение. КЛАВИША "ПРОБЕЛ" стреляет ActionEvent. Спецификация класса ActionEvent была обновлена, чтобы разъяснить этот факт.

4221123: Новые конструкторы FileDialog

Три новый FileDialog конструкторы были добавлены, который может определить a Dialog как владелец:

4691481: Обновленная спецификация для Robot.createScreenCapture

Ранее, документация для Robot.createScreenCapture не упоминала, что курсор мыши не включается в полученное изображение. Это было всегда верно для Соляриса, Linux, Windows и Mac OS X. Документация была обновлена, чтобы отразить эту информацию.

4704042: Новый метод для установки Insets

Был добавлен единственный метод, чтобы установить Вставки: набор (интервал, интервал, интервал, интервал).

4492739: Разъясните InputEvent. ALT_MASK/BUTTON2_MASK и документ META_MASK/BUTTON3_MASK

Есть перекрытие в значениях для некоторых из констант InputEvent. Это сбивает с толку потому что, вызывая KeyEvent.getModifiersExText (интервал) и MouseEvent.getMouseEventModifiersText (интервал) строка, возвращенная для KeyEvent. BUTTON2_MASK является "Высокий звук" и строка, возвращенная для KeyEvent. BUTTON3_MASK является "Мета". Для этого выпуска документация была добавлена к InputEvent, KeyEvent и классам MouseEvent, чтобы разъяснить это.

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

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

Метагородское управление версиями

Мы рекомендуем использовать последнюю сборку Метагорода (который является в настоящий момент 2.6.2). Были некоторые ошибки, которые произошли с версиями до 2.4.34 (проблемы с программируемым iconification, и фреймы неизменяемого размера, например), которые были с тех пор фиксированы.

5051557: Несовместимость фокуса апплета

Мы получили отчеты, у которого, в некоторых апплетах, нажимая клавишу на клавиатуре нет ожидаемого результата. Это обычно происходит, потому что апплет не получает фокус автоматически, когда нет никаких дочерних компонентов в апплете. Чтобы гарантировать, что такой апплет работает через все платформы, рекомендуется, чтобы Вы запросили фокус при запуске (через requestFocus) и при щелчке мышью. Если Вы не хотите фокус, вызвать setFocusable(false).

5050387: JVM может отказать, когда JOptionPane вызывается от отбрасывания ()

На Solaris/Linus рабочий MToolKit, выводя на экран a JOptionpane от drop метод может заставить JVM отказывать. Эта ошибка будет адресоваться в будущем выпуске.

Ошибки фокуса, когда рабочие апплеты

Были связанные с фокусом ошибки, примечательные когда рабочие апплеты в Mozilla в выпуске 1.4.2 и ранее. Это включает: Чтобы решить эту проблему, клиентская сторона протокола XEmbed была реализована: Однако, браузер должен поддерживать серверную сторону XEmbed для этого, чтобы работать. Мы рекомендуем использовать следующие браузеры с Java:

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