- •Обработка исключений
- •Методы класса Throwable
- •Коллекции
- •Класс ArrayList
- •Иерархия типов в java.Io
- •Классы DataInputStream и DataOutputStream
- •Класс StreamTokenizer
- •Классы Reader и Writer.
- •Класс RandomAccessFile
- •Сериализация и десериализация объектов
- •Чтение из стандартного ввода
- •Класс Scanner, конструкторы, основные методы
- •Класс jFrame, конструкторы, основные методы
- •Организация диалогов, класс jOptionPane и его методы
- •Способы идентификации источника событий
- •Панели и менеджеры раположения
- •Рассмотрим основные виды размещения:
- •Кнопки, иерархия классов, свойства, конструкторы и методы.*
- •Надписи, конструкторы и методы
- •Поля текстового ввода, иерархия классов, конструкторы и методы.*
- •Списки jList, конструкторы, методы
- •Классы для создания меню, последовательность действий при создании меню:
- •Событийная модель Java.*
- •Интерфейсы-слушатели и классы-адаптеры
- •Архитектура mvc (Model/View/Controller).*
- •Gui общее понятия, принципы реализации в Java.*
- •Методы класса Formatter
Организация диалогов, класс jOptionPane и его методы
Диалог – окно, предназначенное для отображения определенной информации,подтверждения/отмены определенного действия, ввода данных и т.д.
Информационный диалог:
Диалоговые окна могут быть модальными – когда такой диалог появляется на экране, он блокирует пользовательский ввод для всех других окон.Диалоги, создаваемые с помощью класса JOptionPane, являются модальными. Диалоги зависят от родительского окна – при закрытии родительского окна все его диалоги закрываются, при сворачивании – исчезают.
Для создания немодального диалога нужно использовать класс JDialog – работа с этим классом во многом схожа с действиями при работе с классом JFrame.
При использовании класса JOptionPane для создания диалогов, на самом деле, неявным образом работа ведется с объектом класса JDialog.
JOptionPane.showMessageDialog(frame,"Frame is closing."); frame - родительский фрейм, в котором появляется данный диалог
JOptionPane в основном использует
четыре основных метода: showMessageDialog(), showOptionDialog(), showConfirmDialog()
showInputDialog().
Метод showConfirmDialog() создает диалог, в котором можно разместить какую-то информацию, и который может содержать две или три кнопки: “Yes”, “No” и, выборочно, “Cancel”.
Недостатком этого окна является то, что текст на кнопках невозможно поменять.
Метод возвращает целочисленное значение, представляющее выбор пользователя при нажатии на одну из кнопок диалога.
Возможные целочисленные значения определены в качестве статических констант класса: YES_OPTION, NO_OPTION и CANCEL_OPTION.
Метод showInputDialog() создает диалог, который содержит информацию (как правило, в вопросительной форме) и текстовое поле для ввода пользователем ответа.
В отличие от метода showConfirmDialog(), метод showInputDialog() возвращает строку, представляющую собой тот текст, который введен пользователем в текстовое поле
Метод showMessageDialog() создает диалоговое окно, которое просто содержит какую-то информацию;
единственный диалоговый элемент этого окна – это кнопка «Ok», выполняющая ту же функцию закрытия окна
Метод showOptionDialog(), позволяет пользователю программировать в диалоге до 3-х кнопок (обычно Yes,No,Cаncel) и определять реакцию на них.
Каждый диалог является зависимым от фрейма.
Когда этот фрейм разрушается, то же происходит и с зависимым диалогом. Когда фрейм сворачивается, его зависимые диалоги пропадают с экрана. AWT обеспечивает такое поведение автоматически
Способы идентификации источника событий
Источник любого события распознается с помощью метода getSource() класса EventObject – супер класса для всех событий. Источник события – это объект, генерирующий событие и уведомляющий об этом обработчик.
Object source=event.getSource();
После вызова данного метода actionPerformed() проверяет,какая из кнопок была источником события:
if(source==button1)…
else if(source==button2)…
else (source==button3)…
2-ой способ распознавания источника: В классе ActionEvent есть метод getActionCommand(), который возвращает командную строку, связанную с данным действием. Для кнопки он по умолчанию возвращает ее метку(надпись). Метка может быть изменена с помощью метода setActionCommand(String str)
Если вы предпочитаете такой способ, то метод actionPerformed() должен содержать следующий момент кода:
String command=
event.getActionCommand();
if(command.equals(“Yellow”);)…;
else if (command.equals(“Blue”);)…;
else if (command.equals(“Red”);)…;