- •Обработка исключений
- •Методы класса Throwable
- •Коллекции
- •Класс ArrayList
- •Иерархия типов в java.Io
- •Классы DataInputStream и DataOutputStream
- •Класс StreamTokenizer
- •Классы Reader и Writer.
- •Класс RandomAccessFile
- •Сериализация и десериализация объектов
- •Чтение из стандартного ввода
- •Класс Scanner, конструкторы, основные методы
- •Класс jFrame, конструкторы, основные методы
- •Организация диалогов, класс jOptionPane и его методы
- •Способы идентификации источника событий
- •Панели и менеджеры раположения
- •Рассмотрим основные виды размещения:
- •Кнопки, иерархия классов, свойства, конструкторы и методы.*
- •Надписи, конструкторы и методы
- •Поля текстового ввода, иерархия классов, конструкторы и методы.*
- •Списки jList, конструкторы, методы
- •Классы для создания меню, последовательность действий при создании меню:
- •Событийная модель Java.*
- •Интерфейсы-слушатели и классы-адаптеры
- •Архитектура mvc (Model/View/Controller).*
- •Gui общее понятия, принципы реализации в Java.*
- •Методы класса Formatter
Классы для создания меню, последовательность действий при создании меню:
Меню - способ осуществлять процедуру выбора из некоторого множества в GUI-интерфейсах.
Меню обычно или встроены в верхнюю часть главного фрейма в виде линейки кнопочек (menu bar) или появляются как всплывающие меню.
классы для создания меню:
--JMenuBar - линейка меню, которая включается во фрейм.
--JMenu - кнопка меню в линейке JMenuBar
--JMenuItem - пункт меню-кнопка под кнопкой JMenu .
--JCheckBoxMenuItem - пункт меню-флажок под кнопкой JMenu
--JRadioButtonMenuItem - пункт меню-радиокнопка под кнопкой JMenu
--JPopupMenu - пункт всплывающего меню.
Последовательность действий при создании меню:
1. Создать объект класса JMenuBar.
2. Установить с помощью метода setMenuBar(JMenuBar) созданную панель меню в качестве панели меню требуемого контейнера верхнего уровня.
3. Создать для каждого меню объект класса JMenu.
4. Создать для каждого пункта меню объект класса JMenuItem, JRadioButtonMenuItem или JCheckBoxMenuItem
Добавить к каждому пункту меню соответствующий слушатель события.
6. Добавить (или, точнее, поместить) с помощью метода add(Component) класса JMenu в каждое меню все пункты этого меню.
7. Добавить с помощью метода add(JMenu) класса JMenuBar все меню на панель меню.
Событийная модель Java.*
Субъектами в Swing являются различные графические компонеты, из которых состоит GUI-кнопки, списки, текстовые поля и т.д., а программист определяет, что в них происходит(щелчки на кнопках, перемещения мыши), описывает объекты-наблюдатели и решает, как поступить при смене состояния.
События(Event) в пользовательском интерфейсе- это либо непосредственное действие пользователя(щелчок или движение мыши, нажатие клавиши), либо изменения состояния какого-либо компонента интерфейса(щелчок мыши приводит к нажатию иконки)
Источником события(EventSource) может быть любой компонент(кнопка, окно, надпись с текстом или диалоговое окно)
Слушатель(Listener)-наблюдатель (подписчик), которому компонент будет сообщать о происходящих в нем событиях
Мы реализуем в своем классе нужный нам интерфейс слушателя, передаем его в интересующий нас компонент и ждем наступления события. Все события –объекты.
Во главе иерархии классов-событий стоит класс EventObject из пакета java.util-непосредственное расширение класса Object.Его расширяет абстрактный класс AWTEvent из пакета java.awt.
Минимальный набор параметров события- это объект источник события, который может быть получен методом: public Object getSource() класса EventObject
Классификация событий в Java.*
Основные классы событий
1.Низкоуровневые события:
-создаются системой на основе действий пользователя
-инициатор события - текущая компонента,
2.Высокоуровневые события
-создаются компонентами на основе др. событий
-инициатор события – компонента создавшая событие
Низкоуровневые события
1.Ввод пользователя
--InputEventбазрвый класс
--KeyEvent-событие клавиатуры
KeyPressed(KeyEvent)
KeyReleased(KeyEvent)
KeyTyped(KeyEvent)
--MouseEvent-событие мыши
mouseClicked-нажатие
mouseEntered-вход в компонент
mouseExited-выход из компонента
mousePressed-нажатие
mouseReleased-отпускание
--MouseWheelEvent-событие колеса прокрутки
mouseWheelMoved
2.Изменение состояния компоненты
--ComponentEvent-изменение видимости, размера
--FocusEvent-изменение фокуса
focusGained(FocusEvent)-получение фокуса
focusLost(FocusEvent)-потеря фокуса
--ContainerEvent-добавление, удаление компонента
componentAdded(ContainerEvent)
componentRemoved(ContainerEvent)
--WindowEvent-операции с окнами
windowActivated-активация окна
windowClosed-закрытия окна
windowClosing-окно закрыи=то без состояния закрытия
windowDeactivated-деактивация
windowDeconified-развернуть окно
windowIconfied-свернуть окно
windowOpened-открытие