|
Spec-Zone .ru
спецификации, руководства, описания, API
|
И GTK и взгляд Windows и чувства были улучшены и улучшены, используя в своих интересах собственные механизмы рендеринга. Все компоненты Swing появляются в соответствии со стилем базовой платформы, обеспечивают соответствующую обратную связь и имеют корректный размер.
Абстрактный class был добавлен к JDK. SwingWorker class позволяет продолжительной задаче выполняться на фоновом потоке. Подкласс SwingWorker должен реализовать метод, который выполняет фоновое вычисление. В то время как фоновая задача выполняется, событие диспетчеризируют поток, обрабатывает события и обеспечивает любые необходимые обновления для UI. SwingWorker class поддерживает промежуточные результаты. Фоновая задача может вызвать метод, который отправляет частичные данные метод для того, чтобы обработать на событии диспетчеризирует поток. Кроме того, SwingWorker class поддерживает слушателей изменения свойства. Любое изменение свойства инициировало событие, которое вызывает методы обработки событий на событие, диспетчеризируют поток.
Использованию SwingWorker рекомендуют выполнить отнимающие много времени задачи. Для получения дополнительной информации см. разделе учебного руководства Swing.
Несколько новых методов class оказывают поддержку печати для текстовых документов. Поддерживаемые форматы включают HTML, RTF, и простой текст. Новый API позволяет Вам печатать все содержание текстового компонента независимо от того, видим ли компонент или нет. Функции включают печать в интерактивном режиме или нев интерактивном режиме, выводя на экран диалоговое окно печати, добавляя пользовательские заголовки или нижние колонтитулы, и автоматическое расположение и разбиение на страницы. Контент документа форматируется, чтобы соответствовать размеру страницы.
Новый API включает следующие методы:
Чтобы обеспечить сортировку и фильтрацию возможностей, несколько новых классов были добавлены к JDK. Основание для сортировки и фильтрации обеспечивается абстрактным class. class является реализацией RowSorter class, который имеет дело с основанными на сетке моделями. class был добавлен к пакету как реализация RowSorter class для JTables. TableRowSorter class позволяет Вам определить отличающийся Comparators и также предоставляет возможность фильтрации.
Для получения дополнительной информации см. раздел учебного руководства Swing.
Новый API предназначается для разработчиков, которые пишут менеджерам по расположению, и включает следующие две функции: возможность получить базовую линию для компонентов и возможности получить привилегированный интервал между компонентами.
Профессиональные разметки обычно выравнивают компоненты вдоль своей базовой линии. Ранее, Swing, обеспеченный никакие средства получить базовую линию компонентов. Как решение этой проблемы, и методы были добавлены к class , чтобы получить базовую линию и базовое поведение, когда размер компонента изменяется.
Каждый стиль обеспечивает различные направляющие линии относительно того, как далеко компоненты должны быть помещены друг от друга. Чтобы создать перекрестный стиль платформы должен быть API для того, чтобы получить эту информацию. Как решение, class был добавлен. Менеджеры по расположению могут использовать этот class, чтобы определить привилегированное количество пространства, чтобы поместить между компонентами. Авторы стили могут предоставить пользовательскому LayoutStyle, переопределяя getLayoutStyle() метод стили.
До выпуска 6 контент вкладки снабженной вкладками области был ограничен строкой или значком (или оба). Новый API позволяет Вам добавлять пользовательские компоненты к вкладкам. Наиболее популярный способ использования этой функции должен добавить близкие кнопки, которые удаляют вкладки из снабженных вкладками областей. Следующие новые методы были добавлены к class:
Для получения дополнительной информации см. раздел учебного руководства Swing.
У каждого окна есть внеэкранное изображение, которое синхронизируется с соответствующим экранным изображением. Поскольку окно представляется, его внеэкранное изображение непосредственно копируется на потоке инструментария в экран. Другое преимущество применяется к приложениям, которые блокируют событие, диспетчеризируют поток. Если пользователь скрывает и затем представляет окно приложения, приложение все еще красит, в то время как EDT блокируется.
Кроме того, class теперь обрабатывает рисование для высокоуровневых компонентов Swing (JApplet, JWindow, JFrame, и JDialog) и поддерживает новую архитектуру рисования, основанную на расположении компонента в окне. Следующие новые методы были добавлены к RepaintManager class:
Все высокоуровневые компоненты Swing переопределяют repaint метод, который вызывает соответствующее addDirtyRegion метод.
class теперь переопределяет setDoubleBuffered метод, который определяет, должен ли этот компонент использовать буфер для рисования или нет.
Менеджер по расположению был добавлен к javax.swing пакет. Это расположение было разработано для разработчика GUI, предоставленного IDE NetBeans. GroupLayout прежде всего предназначается для использования разработчиками GUI, но может быть кодирован рукой также.
Для получения дополнительной информации см. раздел учебного руководства Swing.
Два главных улучшения были представлены функции Перетаскивания и Отбрасывания в выпуске 6.
Во-первых, работа Перетаскивания и Отбрасывания может быть сконфигурирована, чтобы не использовать выбор для того, чтобы показать расположение отбрасывания (обратитесь к Базе данных Ошибки, ID ошибки .) Новый механизм представляет свойство для компонентов, которые поддерживают отбрасывания такой как JTree, JTable, JList, и JTextComponent. DropMode свойство используется, чтобы определить режим, которым компонент отслеживает и указывает на расположение отбрасывания. Установить это свойство для компонента, setDropMode(DropMode) метод был добавлен к class компонента для каждого упомянутого выше компонента. Упомянутый ниже доступные режимы отбрасывания и компоненты, которые поддерживают их:
ON - JList, JTree, JTableINSERT - JList, JTree, JTable, JTextComponentON_OR_INSERT - JList, JTree, JTableON_OR_INSERT_ROWS, ON_OR_INSERT_COLS - JTableUSE_SELECTION - JList, JTree, JTable, JTextComponentДля обратной совместимости значение по умолчанию этого свойства устанавливается в USE_SELECTION. Чтобы использовать в своих интересах улучшенный Перетаскивают и функция Отбрасывания, используют один из других упомянутых выше режимов отбрасывания.
Второе улучшение включает TransferHandler class относительно обработки операций отбрасывания. Ранее, TransferHandler class был неспособен выполнить общие связанные с отбрасыванием задачи начиная с методов обработки импорта необходимая информация, в которой испытывают недостаток. Новый внутренний class обеспечивает детали о каждой работе передачи.
Новые перегруженные версии и методов были добавлены к TransferHandler class. Эти методы берут экземпляр TransferSupport class и таким образом позволяет разработчикам принимать или отклонять передачи, основанные на деталях передачи. Разработчики могут также настроить поведение отбрасывания, основанное на a Transferable, расположение отбрасывания, или действие отбрасывания, связанное с передачей, полученной от TransferSupport экземпляр. Например, новое canImport метод может быть реализован, чтобы обнаружить попытку переместить данные от дочернего элемента к его родителю и отклонить такую передачу. В отличие от предыдущих версий, canImport метод вызывает непрерывно компонент TransferHandler, в то время как работа перетаскивания и отбрасывания имеет место по компоненту. Эта функция обеспечивает механизм, которым приемлемость передачи может быть изменена много раз во время работы. Для обратной совместимости, старой версии canImport метод вызывает новая версия по умолчанию.
Другое улучшение включает добавление поддержки TransferHandler высокоуровневым компонентам. Эта поддержка оказывается посредством setTransferHandler и getTransferHandler методы, добавленные к class каждого высокоуровневого компонента (JApplet, JWindow, JFrame, и JDialog).
Ранее пользователи должны были сделать выбор сначала и затем щелкнуть по выбранному пункту снова, чтобы инициировать перетащить работу. Теперь перетащить работа инициируется единственным щелчком мышью (обратитесь к Базе данных Ошибки, ID ошибки .)
Для получения дополнительной информации см. раздел учебного руководства Swing.
Нимб, перекрестный стиль платформы, представленный в Java SE 6 обновлений 10 выпусков, оттягивается с 2-D векторной графикой и может быть представлен в любом разрешении. См. Стиль Нимба для получения дополнительной информации.
ButtonGroup class используется, чтобы создать контекст многократного исключения для ряда кнопок. Первоначально все кнопки в группе отменяются. Ранее не было никакого способа возвратиться к отменявшему состоянию после нажатия кнопки. Теперь метод позволяет разработчикам очищать выбор так, чтобы ни одна из кнопок в группе не была нажата.
Следующие константы были добавлены к интерфейсу .
SELECTED_KEYJRadioButton и JCheckBox экземпляры.DISPLAYED_MNEMONIC_INDEX_KEYLARGE_ICON_KEYhideActionText свойство определяет, выводит ли кнопка на экран текст от Action. Чтобы установить и получить это свойство, следующие новые методы были добавлены к AbstractButton class: и соответственно. JDialog d = new JDialog((Dialog)null);
Swing, только разрешенный Вас, чтобы передать null конструктору JDialog(Frame):
JDialog d = new JDialog((Frame)null);
В последнем случае невидимый фрейм совместно используемого владельца был родителем для всего parentless JDialogs.
С новой моделью , добавленной к JDK 6, AWT позволяет создание действительно parentless диалоговые окна. Это означает это 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() возвращает фрейм совместно используемого владельца.