пятница, 28 октября 2016 г.

Java Swing GUI - маленький справочник

контейнеры верхнего уровня

  • JApplet - главное окно апплета;
  • JFrame - окно приложения;
  • JDialog - диалог приложения.
  • JColorChooser - диалог выбора цвета;
  • JFileChooser - диалог выбора файлов и директорий;
  • FileDialog - диалог выбора файлов и директорий (awt компонент).
 

простые контейнеры

  • JPanel - простая панель для группировки элементов, включая вложенные панели;
  • JToolBar - панель инструментов (обычно это кнопки);
  • JScroolPane - панель прокрутки, позволяющая прокручивать содержимое дочернего элемента;
  • JDesktopPane - контейнер для создания виртуального рабочего стола или приложений на основе MDI (multiple-document interface);
  • JEditorPane, JTextPane - контейнеры для отображения сложного документа как HTML или RTF;
  • JTabbedPane - контейнер для управления закладками;
  • JSplitPane - контейнер, разделяющий два элемента и позволяющий пользователю изменять их размер.

элементы интерфейса

Следующие элементы управления могут использоваться и как контейнеры, так как наследуются от класса java.awt.Container.
  • JButton - кнопка;
  • JCheckBox - кнопка-флажок;
  • JComboBox - выпадающий список;
  • JLabel - метка, надпись;
  • JList - список;
  • JPasswordField - текстовое поле для скрытого ввода;
  • JProgressBar - компонент для отображения числа в некотором диапазоне;
  • JRadioButton - преключатели, радио-кнопки, обычно используется с компонентом ButtonGroup;
  • JSlider - компонент позволяющий выбрать значение из заданного диапазона;
  • JSpinner - компонент позволяющий выбрать значение из указанной последовательности;
  • JTable - таблица;
  • JTextField - однострочное текстовое поле;
  • JTextArea - многострочное текстовое поле;
  • JTree - дерево.

управление позиционированием и размерами

Для автоматического позиционирования и задания размеров дочерних элементов контейнеры используют специальные объекты - компоновщики. Для ручного позиционирования надо установить пустой объект вызовом метода setLayout(null).
Ниже приведен список стандартных компоновщиков:
  • BorderLayout - размещает элементы в один из пяти регионов, как было указано при добавлении элемента в контейнер: наверх, вниз, влево, вправо, в центр;
  • FlowLayout - размещает элементы по порядку в том же направлении, что и ориентация контейнера (слева на право по умолчанию) применяя один из пяти видов выравнивания, указанного при создании менеджера. Данный менеджер используется по умолчанию в большинстве контейнерах;
  • GridLayout - размещает элементы таблично. Колличество столбцов и строк указывается при создании менеджера. По умолчанию одна строка, а число столбцов равно числу элементов;
  • BoxLayout - размещает элементы по вертикали или по горизонтали. Обычно он используется не напрямую а через контейнерный класс Box, который имеет дополнительные возможности;
  • SpringLayout - это менеджер низкого уровня и был разработан для программ построителей форм;
  • GroupLayout - данный менеджер также был разработан для построителей форм.

события

Элементы интерфейса и контейнеры генерируют ряд событий, например:
  • ActionEvent - событие, определяемое компонентом, например нажатие кнопки;
  • ComponentEvent - генерируется, когда позиция, размер или видимость компонента изменяются;
  • ContainerEvent - генерируется при добавлении или удалении элемента из контейнера;
  • FocusEvent - генерируется при получении или потери фокуса ввода компонентом;
  • ItemEvent - событие выбора или отменены выбора элемента. Например, изменение состояния кнопки-флажка, выбор элемента меню или списка;
  • KeyEvent - событие ввода с клавиатуры;
  • MouseEvent - события мыши;
  • WindowEvent - события окна, как активация и свертывание.
Для обработки событий элемента в нем необходимо зарегистрировать объект обработчик в числе слушателей. Делается это методами типа addxxxListener, например addMouseListener(). В качестве объектов обработчиков обычно выбирают контейнер, в котором содержится элемент. Обработка события осуществляется через соответствующий интерфейс, например:
  • ActionListener - интерфейс обработки события ActionEvent;
  • ItemListener - интерфейс обработки события ItemEvent;
  • KeyListener - интерфейс обработки события KeyEvent;
  • MouseListener - интерфейс обработки события MouseEvent, для нажатия/отжатия кнопок и входа/ухода курсора мыши с области компонента;
  • MouseMotionListener - интерфейс обработки события MouseEvent, для движение курсора мыши или перетаскивании мышью;
  • MouseWheelListener - интерфейс обработки события MouseEvent, для прокрутки колеса мыши.
Если весь интерфейс реализовывать не нужно, например, нужен только один из методов, то можно воспользоваться адаптерами.
 
 

Комментариев нет:

Отправить комментарий