Spec-Zone .ru
спецификации, руководства, описания, API
|
И GTK и взгляд Windows и чувства были улучшены и улучшены, используя в своих интересах собственные механизмы рендеринга. Все компоненты Swing появляются в соответствии со стилем базовой платформы, обеспечивают соответствующую обратную связь и имеют корректный размер.
Абстрактный class SwingWorker
class позволяет продолжительной задаче выполняться на фоновом потоке. Подкласс SwingWorker
должен реализовать doInBackground()
SwingWorker
class поддерживает промежуточные результаты. Фоновая задача может вызвать publish
process
SwingWorker
class поддерживает слушателей изменения свойства. Любое изменение свойства инициировало событие, которое вызывает методы обработки событий на событие, диспетчеризируют поток.
Использованию SwingWorker рекомендуют выполнить отнимающие много времени задачи. Для получения дополнительной информации см.
Несколько новых методов
Новый API включает следующие методы:
Чтобы обеспечить сортировку и фильтрацию возможностей, несколько новых классов были добавлены к JDK. Основание для сортировки и фильтрации обеспечивается абстрактным RowSorter
class, который имеет дело с основанными на сетке моделями. RowSorter
class для JTables. TableRowSorter
class позволяет Вам определить отличающийся Comparator
s и также предоставляет возможность фильтрации.
Для получения дополнительной информации см.
Новый API предназначается для разработчиков, которые пишут менеджерам по расположению, и включает следующие две функции: возможность получить базовую линию для компонентов и возможности получить привилегированный интервал между компонентами.
Профессиональные разметки обычно выравнивают компоненты вдоль своей базовой линии. Ранее, Swing, обеспеченный никакие средства получить базовую линию компонентов. Как решение этой проблемы,
Каждый стиль обеспечивает различные направляющие линии относительно того, как далеко компоненты должны быть помещены друг от друга. Чтобы создать перекрестный стиль платформы должен быть API для того, чтобы получить эту информацию. Как решение, getLayoutStyle()
метод стили.
До выпуска 6 контент вкладки снабженной вкладками области был ограничен строкой или значком (или оба). Новый API позволяет Вам добавлять пользовательские компоненты к вкладкам. Наиболее популярный способ использования этой функции должен добавить близкие кнопки, которые удаляют вкладки из снабженных вкладками областей. Следующие новые методы были добавлены к
Для получения дополнительной информации см.
У каждого окна есть внеэкранное изображение, которое синхронизируется с соответствующим экранным изображением. Поскольку окно представляется, его внеэкранное изображение непосредственно копируется на потоке инструментария в экран. Другое преимущество применяется к приложениям, которые блокируют событие, диспетчеризируют поток. Если пользователь скрывает и затем представляет окно приложения, приложение все еще красит, в то время как EDT блокируется.
Кроме того, JApplet
, JWindow
, JFrame
, и JDialog
) и поддерживает новую архитектуру рисования, основанную на расположении компонента в окне. Следующие новые методы были добавлены к RepaintManager
class:
Все высокоуровневые компоненты Swing переопределяют repaint
метод, который вызывает соответствующее addDirtyRegion
метод.
setDoubleBuffered
метод, который определяет, должен ли этот компонент использовать буфер для рисования или нет.
Менеджер по расположению javax.swing
пакет. Это расположение было разработано для разработчика GUI, предоставленного IDE NetBeans. GroupLayout
прежде всего предназначается для использования разработчиками GUI, но может быть кодирован рукой также.
Для получения дополнительной информации см.
Два главных улучшения были представлены функции Перетаскивания и Отбрасывания в выпуске 6.
Во-первых, работа Перетаскивания и Отбрасывания может быть сконфигурирована, чтобы не использовать выбор для того, чтобы показать расположение отбрасывания (обратитесь к Базе данных Ошибки, ID ошибки JTree
, JTable
, JList
, и JTextComponent
. DropMode
свойство используется, чтобы определить режим, которым компонент отслеживает и указывает на расположение отбрасывания. Установить это свойство для компонента, setDropMode(DropMode)
метод был добавлен к class компонента для каждого упомянутого выше компонента. Упомянутый ниже доступные режимы отбрасывания и компоненты, которые поддерживают их:
ON
- JList
, JTree
, JTable
INSERT
- JList
, JTree
, JTable
, JTextComponent
ON_OR_INSERT
- JList
, JTree
, JTable
ON_OR_INSERT_ROWS, ON_OR_INSERT_COLS
- JTable
USE_SELECTION
- JList
, JTree
, JTable
, JTextComponent
Для обратной совместимости значение по умолчанию этого свойства устанавливается в USE_SELECTION
. Чтобы использовать в своих интересах улучшенный Перетаскивают и функция Отбрасывания, используют один из других упомянутых выше режимов отбрасывания.
Второе улучшение включает TransferHandler
class относительно обработки операций отбрасывания. Ранее, TransferHandler
class был неспособен выполнить общие связанные с отбрасыванием задачи начиная с методов обработки импорта необходимая информация, в которой испытывают недостаток. Новый
Новые перегруженные версии TransferHandler
class. Эти методы берут экземпляр TransferSupport
class и таким образом позволяет разработчикам принимать или отклонять передачи, основанные на деталях передачи. Разработчики могут также настроить поведение отбрасывания, основанное на a Transferable
, расположение отбрасывания, или действие отбрасывания, связанное с передачей, полученной от TransferSupport
экземпляр. Например, новое canImport
метод может быть реализован, чтобы обнаружить попытку переместить данные от дочернего элемента к его родителю и отклонить такую передачу. В отличие от предыдущих версий, canImport
метод вызывает непрерывно компонент TransferHandler
, в то время как работа перетаскивания и отбрасывания имеет место по компоненту. Эта функция обеспечивает механизм, которым приемлемость передачи может быть изменена много раз во время работы. Для обратной совместимости, старой версии canImport
метод вызывает новая версия по умолчанию.
Другое улучшение включает добавление поддержки TransferHandler высокоуровневым компонентам. Эта поддержка оказывается посредством setTransferHandler
и getTransferHandler
методы, добавленные к class каждого высокоуровневого компонента (JApplet
, JWindow
, JFrame
, и JDialog
).
Ранее пользователи должны были сделать выбор сначала и затем щелкнуть по выбранному пункту снова, чтобы инициировать перетащить работу. Теперь перетащить работа инициируется единственным щелчком мышью (обратитесь к Базе данных Ошибки, ID ошибки
Для получения дополнительной информации см. раздел
Нимб, перекрестный стиль платформы, представленный в Java SE 6 обновлений 10 выпусков, оттягивается с 2-D векторной графикой и может быть представлен в любом разрешении. См. Стиль Нимба для получения дополнительной информации.
ButtonGroup
class используется, чтобы создать контекст многократного исключения для ряда кнопок. Первоначально все кнопки в группе отменяются. Ранее не было никакого способа возвратиться к отменявшему состоянию после нажатия кнопки. Теперь
Следующие константы были добавлены к интерфейсу
SELECTED_KEY
JRadioButton
и JCheckBox
экземпляры.DISPLAYED_MNEMONIC_INDEX_KEY
LARGE_ICON_KEY
hideActionText
свойство определяет, выводит ли кнопка на экран текст от Action
. Чтобы установить и получить это свойство, следующие новые методы были добавлены к AbstractButton
class: JDialog d = new JDialog((Dialog)null);
Swing, только разрешенный Вас, чтобы передать null
конструктору JDialog(Frame):
JDialog d = new JDialog((Frame)null);
В последнем случае невидимый фрейм совместно используемого владельца был родителем для всего parentless JDialogs.
С новой моделью d.getParent()
возвраты null
для этих диалоговых окон. Чтобы использовать новый API модальности, JDialogs также должен быть действительно parentless (обратитесь к Базе данных Ошибки, ID ошибки
Новые конструкторы с a Window
параметр как владелец был добавлен к JDialog
class и новый метод были добавлены к JOptionPane
class. Чтобы создать parentless JDialog, можно теперь передать null
любому из конструкторов JDialog(Dialog)
или JDialog(Window)
. Чтобы создать parentless JOptionPane, используйте
Как сводка, взгляните на три constuctors ниже:
JDialog d = new JDialog((Dialog)null)
;
JDialog d = new JDialog((Window)null)
;
JDialog d = new JDialog((Frame)null)
;
Отметьте различие: хотя все три конструктора берут null
, только первые два диалоговых окна действительно parentless и работа d.getParent()
возвраты null
для них. Для третьего диалогового окна d.getParent()
возвращает фрейм совместно используемого владельца.