Spec-Zone.ru › OpenJDK 8

Пакет javax.swing

Предоставляет набор «лёгких» (написанных полностью на языке Java) компонентов, которые, насколько это возможно, работают одинаково на всех платформах.

См.: Описание

Интерфейс Описание
Action

Интерфейс Action предоставляет полезное расширение интерфейсу ActionListener в случаях, когда к одному функционалу можно получить доступ через несколько элементов управления.

BoundedRangeModel

Определяет модель данных, используемую компонентами, такими как Slider и ProgressBar.

ButtonModel

Модель состояний для кнопок.

CellEditor

Этот интерфейс определяет методы, которые должен реализовывать любой общий редактор.

ComboBoxEditor

Компонент-редактор, используемый для компонентов JComboBox.

ComboBoxModel<E>

Модель данных для раскрывающегося списка.

DesktopManager

Объекты DesktopManager принадлежат объекту JDesktopPane.

Icon

Небольшое изображение фиксированного размера, обычно используемое для украшения компонентов.

JComboBox.KeySelectionManager

Интерфейс, определяющий KeySelectionManager.

ListCellRenderer<E>

Идентифицирует компоненты, которые могут использоваться в качестве «штампов» для отрисовки ячеек в JList.

ListModel<E>

Этот интерфейс определяет методы, которые компоненты, такие как JList, используют для получения значения каждой ячейки в списке и длины списка.

ListSelectionModel

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

MenuElement

Любой компонент, который может быть размещён в меню, должен реализовывать этот интерфейс.

MutableComboBoxModel<E>

Изменяемая версия ComboBoxModel.

Painter<T>

Делегат отрисовки.

Renderer

Определяет требования к объекту, отвечающему за «рендеринг» (отображение) значения.

RootPaneContainer

Этот интерфейс реализуется компонентами, у которых есть единственный дочерний объект JRootPane: JDialog, JFrame, JWindow, JApplet, JInternalFrame.

Scrollable

Интерфейс, который предоставляет информацию контейнеру прокрутки, например, JScrollPane.

ScrollPaneConstants

Константы, используемые с компонентом JScrollPane.

SingleSelectionModel

Модель, поддерживающая не более одного индексированного выделения.

SpinnerModel

Модель для потенциально неограниченной последовательности значений объектов.

SwingConstants

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

UIDefaults.ActiveValue

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

UIDefaults.LazyValue

Этот класс позволяет хранить запись в таблице параметров по умолчанию, которая не создается до первого вызова с одним из методов getXXX(key).

WindowConstants

Константы, используемые для управления операцией закрытия окна.

Класс Описание
AbstractAction

Этот класс предоставляет стандартные реализации для интерфейса JFC Action.

AbstractButton

Определяет общее поведение для кнопок и пунктов меню.

AbstractCellEditor

Базовый класс для CellEditors, предоставляющий стандартные реализации методов интерфейса CellEditor, за исключением getCellEditorValue().

AbstractListModel<E>

Абстрактное определение модели данных, которая предоставляет List со своим содержимым.

AbstractSpinnerModel

Этот класс предоставляет часть ChangeListener интерфейса SpinnerModel, которая должна быть подходящей для большинства конкретных реализаций SpinnerModel.

ActionMap

ActionMap предоставляет соответствия между Object (называемыми ключами или Action именами) и Action.

BorderFactory

Класс-фабрика для предоставления стандартных объектов Border.

Box

Легковесный контейнер, использующий объект BoxLayout в качестве менеджера компоновки.

Box.Filler

Реализация легковесного компонента, участвующего в компоновке, но не имеющего представления.

BoxLayout

Менеджер компоновки, позволяющий расположить несколько компонентов вертикально или горизонтально.

ButtonGroup

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

CellRendererPane

Этот класс вставляется между рендерерами ячеек и компонентами, которые их используют.

ComponentInputMap

ComponentInputMap является InputMap ассоциированным с конкретным JComponent.

DebugGraphics

Подкласс Graphics, поддерживающий отладку графики.

DefaultBoundedRangeModel

Обобщённая реализация BoundedRangeModel.

DefaultButtonModel

Стандартная реализация модели данных компонента Button.

DefaultCellEditor

Стандартный редактор для ячеек таблиц и деревьев.

DefaultComboBoxModel<E>

Стандартная модель для раскрывающихся списков.

DefaultDesktopManager

Это реализация DesktopManager.

DefaultFocusManager

Этот класс устарел в API фокусировки версии 1.4.

DefaultListCellRenderer

Отображает элемент в списке.

DefaultListCellRenderer.UIResource

Подкласс DefaultListCellRenderer, реализующий UIResource.

DefaultListModel<E>

Этот класс приблизительно реализует API java.util.Vector, реализуя версию 1.1.x java.util.Vector, не поддерживает классы коллекций и уведомляет ListDataListener при изменениях.

DefaultListSelectionModel

Стандартная модель данных для выбора элементов в списке.

DefaultRowSorter<M,I>

Реализация RowSorter, обеспечивающая сортировку и фильтрацию данных вокруг модели данных на основе сетки.

DefaultRowSorter.ModelWrapper<M,I>

DefaultRowSorter.ModelWrapper отвечает за предоставление данных, которые сортирует DefaultRowSorter.

DefaultSingleSelectionModel

Обобщенная реализация SingleSelectionModel.

FocusManager

Этот класс устарел в API фокусировки версии 1.4.

GrayFilter

Фильтр изображения, который "отключает" изображение, преобразуя его в оттенки серого и осветляя пиксели изображения.

GroupLayout

GroupLayout является LayoutManager менеджером, иерархически группирующим компоненты для позиционирования в Container.

ImageIcon

Реализация интерфейса Icon, рисующая значки из изображений.

InputMap

InputMap предоставляет связку между событием ввода (в настоящее время используются только KeyStroke) и Object.

InputVerifier

Цель этого класса - помочь клиентам обеспечить плавную навигацию по фокусу в GUI с текстовыми полями.

InternalFrameFocusTraversalPolicy

FocusTraversalPolicy, который может по желанию предоставить алгоритм определения начального компонента JInternalFrame.

JApplet

Расширенная версия java.applet.Applet, которая добавляет поддержку архитектуры компонентов JFC/Swing.

JButton

Реализация "нажимаемой" кнопки.

JCheckBox

Реализация флажка — элемента, который может быть выбран или убран, и отображает своё состояние пользователю.

JCheckBoxMenuItem

Пункт меню, который может быть выбран или убран.

JColorChooser

JColorChooser предоставляет панель управления, предназначенную для того, чтобы пользователь мог манипулировать и выбирать цвет.

JComboBox<E>

Компонент, объединяющий кнопку или поле редактирования и раскрывающийся список.

JComponent

Базовый класс для всех компонентов Swing, кроме контейнеров верхнего уровня.

JDesktopPane

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

JDialog

Основной класс для создания диалогового окна.

JEditorPane

Текстовый компонент для редактирования различных типов контента.

JFileChooser

JFileChooser предоставляет простой механизм для пользователя, чтобы выбрать файл.

JFormattedTextField

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

JFormattedTextField.AbstractFormatter

Экземпляры AbstractFormatter используются JFormattedTextField для обработки преобразования из Object в String и обратно из String в Object.

JFormattedTextField.AbstractFormatterFactory

Экземпляры AbstractFormatterFactory используются JFormattedTextField для получения экземпляров AbstractFormatter, которые в свою очередь используются для форматирования значений.

JFrame

Расширенная версия java.awt.Frame, которая добавляет поддержку архитектуры компонентов JFC/Swing.

JInternalFrame

Легковесный объект, предоставляющий многие функции обычного окна, включая перетаскивание, закрытие, отображение в виде значка, изменение размера, отображение заголовка и поддержку панели меню.

JInternalFrame.JDesktopIcon

Этот компонент представляет собой иконное представление JInternalFrame.

JLabel

Область отображения для короткой текстовой строки, изображения или обоих.

JLayer<V extends Component>

JLayer является универсальным декоратором для компонентов Swing, который позволяет реализовывать различные расширенные эффекты отрисовки, а также получать уведомления обо всех AWTEvent внутри его границ.

JLayeredPane

JLayeredPane добавляет глубину контейнеру JFC/Swing, позволяя компонентам перекрывать друг друга при необходимости.

JList<E>

Компонент, отображающий список объектов и позволяющий пользователю выбрать один или несколько элементов.

JList.DropLocation

Подкласс TransferHandler.DropLocation, представляющий место расположения для JList.

JMenu

Реализация меню — всплывающего окна, содержащего JMenuItem, которое отображается, когда пользователь выбирает элемент на JMenuBar.

JMenuBar

Реализация панели меню.

JMenuItem

Реализация элемента меню.

JOptionPane

JOptionPane упрощает вывод стандартного диалогового окна, которое запрашивает у пользователя значение или информирует его о чём-либо.

JPanel

JPanel является универсальным легковесным контейнером.

JPasswordField

JPasswordField представляет собой лёгковесный компонент, позволяющий редактировать одну строку текста, при этом отображение показывает, что что-то было введено, но не отображает исходные символы.

JPopupMenu

Реализация всплывающего меню — небольшого окна, которое всплывает и отображает ряд вариантов.

JPopupMenu.Separator

Разделитель, специфичный для всплывающих меню.

JProgressBar

Компонент, визуально отображающий ход выполнения какой-либо задачи.

Радиокнопка

Реализация радиокнопки — элемента, который можно выбрать или сбросить и который отображает свое состояние пользователю.

Элемент меню радиокнопки

Реализация элемента меню радиокнопки.

JRootPane

Легковесный контейнер, используемый за кулисами JFrame, JDialog, JWindow, JApplet, и JInternalFrame.

JScrollBar

Реализация полосы прокрутки.

JScrollPane

Обеспечивает возможность прокрутки легковесного компонента.

JSeparator

JSeparator предоставляет компонент общего назначения для реализации разделительных линий — чаще всего используется как разделитель между элементами меню, разделяя их на логические группы.

JSlider

Компонент, позволяющий пользователю графически выбрать значение, перемещая ползунок в заданном интервале.

JSpinner

Поле ввода одной строки, позволяющее пользователю выбрать число или значение объекта из упорядоченной последовательности.

JSpinner.DateEditor

Редактор для JSpinner, модель которого является SpinnerDateModel.

JSpinner.DefaultEditor

Простой базовый класс для более специализированных редакторов, отображающий только для чтения текущее значение модели с JFormattedTextField.

JSpinner.ListEditor

Редактор для JSpinner, модель которого является SpinnerListModel.

JSpinner.NumberEditor

Редактор для JSpinner, модель которого является SpinnerNumberModel.

JSplitPane

JSplitPane используется для разделения двух (и только двух) Component.

JTabbedPane

Компонент, позволяющий пользователю переключаться между группой компонентов, щелкнув по вкладке с заданным заголовком и/или значком.

JTable

JTable используется для отображения и редактирования обычных двумерных таблиц ячеек.

JTable.DropLocation

Подкласс TransferHandler.DropLocation, представляющий местоположение для выгрузки JTable.

JTextArea

JTextArea — многострочное поле, отображающее обычный текст.

JTextField

JTextField — легковесный компонент, позволяющий редактировать одну строку текста.

JTextPane

Текстовый компонент, который может быть помечен атрибутами, отображаемыми графически.

JToggleButton

Реализация двухсостоятельной кнопки.

JToggleButton.ToggleButtonModel

Модель ToggleButton

JToolBar

JToolBar предоставляет компонент, полезный для отображения часто используемых Action или элементов управления.

JToolBar.Separator

Разделитель для панели инструментов.

JToolTip

Используется для отображения "Подсказки" для компонента.

JTree

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

JTree.DropLocation

Подкласс TransferHandler.DropLocation представляющий местоположение выгрузки для JTree.

JTree.DynamicUtilTreeNode

DynamicUtilTreeNode может оборачивать векторы/хеш-таблицы/массивы/строки и создавать соответствующие дочерние узлы дерева по мере необходимости.

JTree.EmptySelectionModel

EmptySelectionModel — это TreeSelectionModel , который не позволяет ничего выбирать.

JViewport

«Представление» или «иллюминатор», через который вы видите скрытую информацию.

JWindow

JWindow — это контейнер, который может быть отображен в любом месте рабочего стола пользователя.

KeyStroke

KeyStroke представляет собой действие нажатия клавиши на клавиатуре или эквивалентное устройство ввода.

LayoutFocusTraversalPolicy

Политика перехода фокуса, которая сортирует компоненты на основе их размера, положения и ориентации.

LayoutStyle

LayoutStyle предоставляет информацию о том, как расположить компоненты.

LookAndFeel

LookAndFeel, как следует из названия, инкапсулирует вид и ощущения.

MenuSelectionManager

MenuSelectionManager владеет выделением в иерархии меню.

OverlayLayout

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

Popup

Поп-упа используются для отображения Component пользователю, обычно поверх всех других Component в определенной иерархии контейнеров.

PopupFactory

PopupFactory, как следует из названия, используется для получения экземпляров Popup.

ProgressMonitor

Класс для мониторинга выполнения операции.

ProgressMonitorInputStream

Мониторинг прогресса чтения из некоторого потока InputStream.

RepaintManager

Этот класс управляет запросами на перерисовку, позволяя минимизировать количество перерисовок, например, объединяя несколько запросов в одну перерисовку для элементов древовидной структуры компонента.

RowFilter<M,I>

RowFilter используется для фильтрации записей из модели, чтобы они не отображались в представлении.

RowFilter.Entry<M,I>

Объект Entry передается экземплярам RowFilter, позволяя фильтру получить значение данных записи и, следовательно, определить, следует ли отображать запись.

RowSorter<M>

RowSorter обеспечивает основу для сортировки и фильтрации.

RowSorter.SortKey

SortKey описывает порядок сортировки для конкретного столбца.

ScrollPaneLayout

Менеджер компоновки, используемый JScrollPane.

ScrollPaneLayout.UIResource

Версия UI ресурса ScrollPaneLayout.

SizeRequirements

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

SizeSequence

Объект SizeSequence эффективно поддерживает упорядоченный список размеров и соответствующих позиций.

SortingFocusTraversalPolicy

Политика перехода фокуса, которая определяет порядок перехода, сортируя компоненты цикла перехода фокуса на основе заданного сравнителя.

SpinnerDateModel

SpinnerModel для последовательностей Date.

SpinnerListModel

Простая реализация SpinnerModel , значения которого определяются массивом или List.

SpinnerNumberModel

SpinnerModel для последовательностей чисел.

Spring

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

SpringLayout

SpringLayout компонует потомков своего связанного контейнера в соответствии с набором ограничений.

SpringLayout.Constraints

Объект Constraints содержит ограничения, которые регулируют способ изменения размера и положения компонента в контейнере, управляемом SpringLayout.

SwingUtilities

Коллекция служебных методов для Swing.

SwingWorker<T,V>

Абстрактный класс для выполнения длительных задач взаимодействия с графическим интерфейсом в фоновом потоке.

Timer

Вызывает один или несколько ActionEvent в заданные интервалы.

ToolTipManager

Управляет всеми ToolTips в системе.

TransferHandler

Этот класс используется для обработки передачи Transferable к компонентам Swing и из них.

TransferHandler.DropLocation

Представляет местоположение, куда должны быть вставлены перетащенные данные.

TransferHandler.TransferSupport

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

UIDefaults

Таблица значений по умолчанию для компонентов Swing.

UIDefaults.LazyInputMap

LazyInputMap создаст InputMap в своем методе createValue.

UIDefaults.ProxyLazyValue

Этот класс предоставляет реализацию LazyValue, которая может быть использована для отсрочки загрузки класса для создаваемого экземпляра.

UIManager

UIManager управляет текущим внешним видом, набором доступных внешних видов, PropertyChangeListeners уведомляются при изменении внешнего вида, значениями по умолчанию внешнего вида и удобными методами для получения различных значений по умолчанию.

UIManager.LookAndFeelInfo

Предоставляет небольшую информацию об установленной LookAndFeel для настройки меню или начальной настройки приложения.

ViewportLayout

Менеджер компоновки по умолчанию для JViewport.

Перечисление Описание
DropMode

Режимы перетаскивания, используемые для определения метода, с помощью которого компонент отслеживает и указывает местоположение падения во время перетаскивания.

GroupLayout.Alignment

Перечисление возможных способов, которыми ParallelGroup может выровнять свои дочерние элементы.

JTable.PrintMode

Режимы печати, используемые при печати JTable.

LayoutStyle.ComponentPlacement

ComponentPlacement представляет собой перечисление возможных способов размещения двух компонентов относительно друг друга.

RowFilter.ComparisonType

Перечисление возможных значений сравнения, поддерживаемых некоторыми из стандартных RowFilter.

SortOrder

SortOrder — это перечисление возможных порядков сортировки.

SwingWorker.StateValue

Значения для state привязанного свойства.

Исключение Описание
UnsupportedLookAndFeelException

Исключение, указывающее, что запрошенные классы управления внешним видом отсутствуют на системе пользователя.

Описание пакета javax.swing

Предоставляет набор «легковесных» (все на языке Java) компонентов, которые по возможности работают одинаково на всех платформах. Руководство для программиста по использованию этих компонентов см. в Создание графического интерфейса с помощью JFC/Swing, разделе учебного пособия The Java Tutorial. Для получения дополнительной информации см. Связанная документация.

Потоковая политика Swing

В общем случае Swing не является потокобезопасным. На все компоненты Swing и связанные с ними классы, если не указано иное, необходимо обращаться в потоке обработки событий.

Типичные приложения Swing обрабатывают события в ответ на действие пользователя. Например, щелчок по JButton уведомляет все ActionListeners, добавленные в JButton. Поскольку все события, генерируемые действиями пользователя, передаются в потоке обработки событий, большинство разработчиков не сталкиваются с этим ограничением.

Однако, где проявляется это ограничение, так это при создании и отображении приложения Swing. Вызовы метода приложения main или методов Applet не вызываются в потоке обработки событий. Следовательно, необходимо обеспечить передачу управления потоку обработки событий при создании и отображении приложения или апплета. Предпочтительный способ передачи управления и начала работы с Swing — использование invokeLater. Метод invokeLater планирует Runnable для обработки в потоке обработки событий. Следующие два примера одинаково хорошо подходят для передачи управления и запуска приложения Swing:

import javax.swing.SwingUtilities;

public class MyApp implements Runnable {
    public void run() {
        // Invoked on the event dispatching thread.
        // Construct and show GUI.
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new MyApp());
    }
}
Или:
import javax.swing.SwingUtilities;

public class MyApp {
    MyApp(String[] args) {
        // Invoked on the event dispatching thread.
        // Do any initialization here.
    }

    public void show() {
        // Show the UI.
    }

    public static void main(final String[] args) {
        // Schedule a job for the event-dispatching thread:
        // creating and showing this application's GUI.
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                new MyApp(args).show();
            }
        });
    }
}
Это ограничение также относится к моделям, прикрепленным к компонентам Swing. Например, если TableModel прикреплено к JTable, TableModel должно изменяться только в потоке обработки событий. Если вы изменяете модель в другом потоке, у вас есть риск возникновения исключений и возможной ошибки отображения.

Поскольку все события доставляются в потоке обработки событий, необходимо соблюдать осторожность при обработке событий. В частности, длительная задача, такая как сетевое ввод-вывод или вычисления, выполняемая в потоке обработки событий, блокирует поток обработки событий, не позволяя ему обрабатывать другие события. Пока поток обработки событий заблокирован, приложение не реагирует на ввод пользователя. См. SwingWorker для предпочтительного способа выполнения таких задач при работе с Swing.

Дополнительную информацию по этой теме можно найти в учебном пособии по Swing, в частности в разделе Многопоточность в Swing.

Связанная документация

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

  • Swing Connection
  • The Java Tutorial
  • Онлайн обучение на Java Developer ConnectionSM
  • Java Foundation Classes (JFC) главная страница

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API