Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Структура Swing

Читайте также:
  1. A Swing with a Falling Weight
  2. From swinging fireballs to gobbling grapes, here are the wackiest ways of welcoming the New Year around the world.
  3. Grasp the swingarm at the ends to check for play in its pivot bearings
  4. I.2. Структура оптимизационных задач
  5. Swing of the club
  6. Swinging her legs.
  7. VІІ. Методика проведення заняття і його організаційна структура

Структура Swing представлена на следующем рисунке:

Классы AWT – Component, Container, Window, Frame и Dialog. Все классы Swing начинаются с буквы J, за исключением класса AbstractButton. Комоненты Swing – подклассы класса JComponent, являются также контейнерами и могут содержать другие компоненты Swing. Компоненты Swing создаются под AWT и поэтому методы и свойства классов Component и Container также доступны. Тяжелые компоненты, находящиеся на вершине уровня контейнеров Swing, - JFrame, JApplet, JDialog, JWindow, – содержат все легкие компоненты.

Импорт Swing пакетов

Основной пакет Swing называется javax.swing. Кроме того, в состав Swing входят следующие пакеты:

· javax.swing.border,

· javax.swing.colorchooser,

· javax.swing.event,

· javax.swing.filechooser,

· javax.swing.plaf,

· javax.swing.plaf.basic,

· javax.swing.plaf.metal,

· javax.swing.plaf.multi,

· javax.swing.table,

· javax.swing.text,

· javax.swing.text.html,

· javax.swing.text.html.parser,

· javax.swing.text.rtf,

· javax.swing.tree,

· javax.swing.undo.

Используется BJ2SE (начиная с JDK 1.2, расширен в JDK 1.3)

Компоненты Swing

Swing - это набор классов под JFS, который обеспечивает легкие визуальные элементы и привлекательный GUI. Кроме того, Swing содержит не только компоненты для замены визуальных компонентов AWT, но и комплексные компоненты, такие как деревья, таблицы и др.

JLabel

Компонент JLabel — это просто строка текста, или строка с изображением, или с обоими сразу, оформленная как графический компонент для размещения в контейнере. Текст можно поменять только методом доступа setText(String text), но не вводом пользователя с клавиатуры или с помощью мыши.

Конструкторы:

• JLabel();

• JLabel(Icon image);

• JLabel(Icon image, int horizontalAlignment);

• JLabel(String text);

• JLabel(String text, Icon icon, int horizontalAlignment);

• JLabel(String text, int horizontalAlignment).

Контейнеры

JFrame

JFrame – это контейнер верхнего уровня или окно, в которое будут помещаться другие Swing компоненты.

Это полноценное готовое окно со строкой заголовка, в которую помещены кнопки контекстного меню, сворачивания окна в ярлык и разворачивания во весь экран и кнопка закрытия приложения. Заголовок окна записывается в конструкторе или методом setTitle(String title). Окно окружено рамкой.

 

Конструкторы:

· JFrame();

· JFrame(String title);

· JFrame(GraphicsConfiguration gc);

· JFrame(String title, GraphicsConfiguration gc).

 

При добавлении компонентов к JFrame, мы должны их добавить в область, например при добавлении кнопки but:

frame.getContentPane().add(but);

JDialog

JDialog - главный класс для создания диалоговых окон, контейнер верхнего уровня.

JDialog — это окно обычно фиксированного размера, предназначенное для ответа на сообщения приложения. Оно автоматически регистрируется в оконном менеджере графической оболочки, следовательно, его можно перемещать по экрану, менять его размеры. Но окно типа JDialog, как и его суперкласс — окно типа Window, — обязательно имеет владельца owner, который указывается в конструкторе. Окно типа JDialog может быть модальным (modal), в котором надо обязательно выполнить все предписанные действия, иначе из окна нельзя будет выйти. Если параметр modal == true, то диалоговое окно создается модальным, в противном случае оно позволяет переключиться на другое окно приложения.

 

 

Конструкторы:

· JDialog();

· JDialog(Dialog owner);

· JDialog(Dialog owner, boolean modal);

· JDialog(Dialog owner, String title);

· JDialog(Dialog owner, String title, boolean modal);

· JDialog(Dialog owner, String title, boolean modal, GraphicsConfiguration gc);

· JDialog(Frame owner);

· JDialog(Frame owner, boolean modal);

· JDialog(Frame owner, String title);

· JDialog(Frame owner, String title, boolean modal);

· JDialog(Frame owner, String title, boolean modal, GraphicsConfiguration gc).

JPanel

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

Класс JPanel очень прост, но важен.

Конструкторы:

· JPanel();

· JPanel(boolean isDoubleBuffered);

· JPanel(LayoutManager layout);

· JPanel(LayoutManager layout, boolean isDoubleBuffered).

 

После создания контейнера в него добавляются компоненты унаследованным методом add():

JPanel p = new JPanel();

p.add(component1);

p.add(component2);

JScrollPane

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

Конструкторы:

· JScrollPane();

· JScrollPane(Component view);

· JScrollPane(Component view, int vsbPolicy, int hsbPolicy);

· JScrollPane(int vsbPolicy, int hsbPolicy).

 

В контейнере можно установить полосы прокрутки либо постоянно, константой SCROLLBARS_ALWAYS, либо так, чтобы они появлялись только при необходимости (если компонент действительно не помещается в окно) константой SCROLLBARS_AS_NEEDED.

Если полосы прокрутки не установлены, это задает константа SCROLLBARS_NEVER, то перемещение компонента для просмотра нужно обеспечить из программы одним из методов setScrollPosition().

Ограничение, заключающееся в том, что JScrollPane может содержать только один компонент, легко обходится. Всегда можно сделать этим единственным компонентом объект класса JPanel, разместив на панели что угодно.

JWindow

Контейнер JWindow — это пустое окно, без внутренних элементов: рамки, строки заголовка, строки меню, полос прокрутки. Это просто прямоугольная область на экране.

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

Окно типа JWindow самостоятельно, не содержится ни в каком контейнере, его не надо заносить в контейнер методом add(). Однако оно не связано с оконным менеджером графической системы. Следовательно, нельзя изменить его размеры, переместить в другое место экрана. Поэтому оно может быть создано только каким-нибудь уже существующим окном, владельцем (owner) или родителем (parent) окна JWindow. Когда окно-владелец убирается с экрана, вместе с ним убирается и порожденное окно. Владелец окна указывается в конструкторе.

Конструкторы:

· JWindow();

· JWindow(Frame owner);

· JWindow(GraphicsConfiguration gc);

· JWindow(Window owner);

· JWindow(Window owner, GraphicsConfiguration gc).

 

Созданное конструктором окно не выводится на экран автоматически. Его следует отобразить методом show(). Убрать окно с экрана можно методом hide(), а проверить, видно ли окно на экране — логическим методом isShowing().

Видимое на экране окно выводится на передний план методом toFront() или, наоборот, помещается на задний план методом toBack().

Уничтожить окно, освободив занимаемые им ресурсы, можно методом dispose().

Ввод текста

JTextField

Компонент JTextField — это поле для ввода одной строки текста. Ширина поля измеряется в колонках (column). Ширина колонки — это средняя ширина символа в шрифте, которым вводится текст. Нажатие клавиши <Enter> заканчивает ввод и служит сигналом к началу обработки введенного текста, т. е. при этом происходит событие ActionEvent.

Конструкторы:

· JTextField();

· JTextField(int columns);

· JTextField(string text);

· JTextField(String text, int columns);

· JTextField public JTextField(Document doc, String text, int columns).


Дата добавления: 2015-10-29; просмотров: 239 | Нарушение авторских прав


Читайте в этой же книге: Абстрактные методы | Иерархия классов-исключений | Модель обработки исключений | Концепции AWT | Компоненты AWT | TextComponent | CheckboxGroup | Классы элементов меню | Абсолютное позиционирование | GridBagLayout |
<== предыдущая страница | следующая страница ==>
Простое Swing приложение| JPasswordField

mybiblioteka.su - 2015-2024 год. (0.01 сек.)