Вы здесь: Главная >> Java-самоучитель >> Формы и диалоговые окна в Java
Формы и диалоговые окна в Java
Формы
Формы (фреймовые окна) создаются на основе классов Frame и JFrame. Создать форму можно с помощью мастера (его значок Frame располагается на той же вкладке, что и значок Panel). Рассмотрим пример создания формы с помощью мастера.
1. Создайте приложение с именем проекта и заголовком окна MyFrame.
2. Выберите команду File - >New и в секции General выберите значок Frame Откроется окно, показанное на рис. 9.8.Рис 9.8. Диалоговое окно Frame Wizard
3. Выберите все, как на рисунке, и щелкните на кнопке ОК.
4. Измените компоновку формы 1 на XYLayout.
5. Добавьте в форму 1 (главную форму —класс Framel) две кнопки JButton со значениями свойства Text, равными "Показать" и "Скрыть".
6. Добавьте в конструктор класса Frame2 следующий код.
this.setSize(new Dimension(300, 300));
this.setTitle("Новое окно");
В этом коде мы устанавливаем размер созданного окна, являющегося экземпляром класса Frame2, и определяем заголовок для этого окна.
7. Теперь добавьте после объявления всех компонентов в классе Framel следующий код. private Frame2 myFrame = new Frame2();
8. Создайте обработчики события actionPerformed для обеих кнопок в форме 1 (листинг 9.5).
Листинг 9.5
Создание обработчики события для кнопок в форме 1
public void jButtonl_actionPerformed(ActionEvent e) {
myFrame.setVisible(true);
}
public void jButton2_actionPerformed(ActionEvent e) {
myFrame.setVisible(false);
}
Диалоговые окна, окна сообщений и окна запроса
Альтернатива формам — диалоговые окна. Они создаются на основе классов Dialog (java.awt) и JDialog (javax.swing). Мастер для создания заготовки диалогового окна открывается так: выберите значок Dialog на вкладке General окна Object Gallery, которое открывается с помощью команды File -> New. Откроется следующее диалоговое окно (рис. 9.9).
Рис 9.9 Диалоговое окно Dialog Wizard
Существуют готовые диалоговые окна, которые тоже можно использовать. Вот перечень тех диалоговых окон, которые мы рассмотрим далее.
- JColorChooser. Окно выбора цвета. Его мы уже кратко рассматривали ранее (пакет javax.swing, секция Swing Containers)
- JFileChooser. Окно выбора файла (пакет javax.swing, секция Swing Containers).
- JOptionPane – набор диалоговых окон, которые представляют собой модальные окна (т.е. такие, которые не позволяют передавать фокус другим окнам приложения, пока в них не будут выполнены необходимые действия и они не будут закрыты): окна подтверждения, окна ввода и др. (пакет javax.swing, секция Swing Containers).
Диалоговое окно JColorChooser вызывается с помощью метода showDialog. Вот как выглядит это диалоговое окно с заголовком «Выбор цвета текста».
Рис. 9.10. Диалоговое окно JColorChooser с заголовком Выбор цвета текста
Диалоговое окно JFileChooser предусматривает три метода для открытия данного окна в разных вариациях: showDialog — простое отображение этого окна (т.е. с установлением заголовка окна и имени кнопки), showCpenDialog — отображение окна открытия файла — значение строки заголовка окна и кнопки, равное Open (рис. 9.11).
Метод showSaveDialog — отображение окна сохранения файла — значение строки заголовка окна и кнопки, равное Save (рис 9.12).
Рис. 9.11. Диалоговое окно Open
Рис. 9.12. Диалоговое окно Save
Компонент JOptionPane.
Можно создать свое диалоговое окно с помощью этого компонента, а можно использовать стандартные окна (два типа таких окон мы рассмотрим — окна сообщений и окна запроса).
Приведем пример использования этого компонента.
1. Создайте приложение с именем проекта JOptionPane и таким же заголовком окна.
2. Измените компоновку на компоновку XYLayout.
3. Добавьте компонент JOptionPane к значку UI в окне структуры.
4. Добавьте в форму три компонента JButton со свойствами Text, равными "showMessageDialogs", showConfirmDialogs" и "showInputDialogs", и компонент JLabel со свойством Text, равным " ".
5. Создайте для кнопок обработчики событий actionPerformed (листинг 9.6).
Листинг 9.6.
Создание обработчика событий
Разберем этот код.
Есть пять типов сообщений:
ERROR_MESSAGE (сообщение об ошибке),
INFORMAT10N_MESSAGE (информационное сообщение),
PLAIN_MESSAGE (свое сообщение без каких-либо отличительных знаков — например, значка),
QUESTI0N_MESSAGE (вопрос пользователю) и
WARNING__MESSAGE (предупредительное окно).
Картинки можно создавать на основе класса ImageIcon, в параметрах указывая имя файла. Если диапазон возможных значений для окна ввода указан — появляется список, если нет — текстовое поле.
Далее представлены все диалоговые окна, которые появляются на экране, в качестве картинок из файлов my.gif и picture.gif. Также представлены измененные картинки "Водяные лилии" и "Закат", которые прилагаются к набору картинок WindowsХР (рис. 9.13- 9.21).
Рис. 9.13. Информационное сообщение
Рис. 9.14. Сообщение об ошибке
Рис. 9.15. Сообщение с вопросом
Рис. 9.16. Восклицательное сообщение
Рис. 9.17. Сообщение прочего типа
Рис. 9.18. Информационное окно с кнопками подтверждения или отказа
Рис. 9.19. Окно с требованием обязательного выбора одного из двух вариантов
Рис. 9.20. Окно с предложением выбрать значение из списка
Рис. 9.21. Окно для ввода информации
Сергей Владимирцев
11.03.2011