🗊 Лекция 14. Графический интерфейс пользователя

Категория: Информатика
Нажмите для полного просмотра!
  
  Лекция 14. Графический интерфейс пользователя  , слайд №1  
  Лекция 14. Графический интерфейс пользователя  , слайд №2  
  Лекция 14. Графический интерфейс пользователя  , слайд №3  
  Лекция 14. Графический интерфейс пользователя  , слайд №4  
  Лекция 14. Графический интерфейс пользователя  , слайд №5  
  Лекция 14. Графический интерфейс пользователя  , слайд №6  
  Лекция 14. Графический интерфейс пользователя  , слайд №7  
  Лекция 14. Графический интерфейс пользователя  , слайд №8  
  Лекция 14. Графический интерфейс пользователя  , слайд №9  
  Лекция 14. Графический интерфейс пользователя  , слайд №10  
  Лекция 14. Графический интерфейс пользователя  , слайд №11  
  Лекция 14. Графический интерфейс пользователя  , слайд №12  
  Лекция 14. Графический интерфейс пользователя  , слайд №13  
  Лекция 14. Графический интерфейс пользователя  , слайд №14  
  Лекция 14. Графический интерфейс пользователя  , слайд №15  
  Лекция 14. Графический интерфейс пользователя  , слайд №16  
  Лекция 14. Графический интерфейс пользователя  , слайд №17  
  Лекция 14. Графический интерфейс пользователя  , слайд №18  
  Лекция 14. Графический интерфейс пользователя  , слайд №19  
  Лекция 14. Графический интерфейс пользователя  , слайд №20  
  Лекция 14. Графический интерфейс пользователя  , слайд №21  
  Лекция 14. Графический интерфейс пользователя  , слайд №22  
  Лекция 14. Графический интерфейс пользователя  , слайд №23  
  Лекция 14. Графический интерфейс пользователя  , слайд №24  
  Лекция 14. Графический интерфейс пользователя  , слайд №25  
  Лекция 14. Графический интерфейс пользователя  , слайд №26  
  Лекция 14. Графический интерфейс пользователя  , слайд №27  
  Лекция 14. Графический интерфейс пользователя  , слайд №28  
  Лекция 14. Графический интерфейс пользователя  , слайд №29  
  Лекция 14. Графический интерфейс пользователя  , слайд №30  
  Лекция 14. Графический интерфейс пользователя  , слайд №31  
  Лекция 14. Графический интерфейс пользователя  , слайд №32  
  Лекция 14. Графический интерфейс пользователя  , слайд №33  
  Лекция 14. Графический интерфейс пользователя  , слайд №34  
  Лекция 14. Графический интерфейс пользователя  , слайд №35  
  Лекция 14. Графический интерфейс пользователя  , слайд №36  
  Лекция 14. Графический интерфейс пользователя  , слайд №37  
  Лекция 14. Графический интерфейс пользователя  , слайд №38  
  Лекция 14. Графический интерфейс пользователя  , слайд №39  
  Лекция 14. Графический интерфейс пользователя  , слайд №40  
  Лекция 14. Графический интерфейс пользователя  , слайд №41  
  Лекция 14. Графический интерфейс пользователя  , слайд №42  
  Лекция 14. Графический интерфейс пользователя  , слайд №43  
  Лекция 14. Графический интерфейс пользователя  , слайд №44  
  Лекция 14. Графический интерфейс пользователя  , слайд №45  
  Лекция 14. Графический интерфейс пользователя  , слайд №46  
  Лекция 14. Графический интерфейс пользователя  , слайд №47  
  Лекция 14. Графический интерфейс пользователя  , слайд №48  
  Лекция 14. Графический интерфейс пользователя  , слайд №49  
  Лекция 14. Графический интерфейс пользователя  , слайд №50  
  Лекция 14. Графический интерфейс пользователя  , слайд №51  
  Лекция 14. Графический интерфейс пользователя  , слайд №52  
  Лекция 14. Графический интерфейс пользователя  , слайд №53  
  Лекция 14. Графический интерфейс пользователя  , слайд №54  
  Лекция 14. Графический интерфейс пользователя  , слайд №55

Содержание

Вы можете ознакомиться и скачать Лекция 14. Графический интерфейс пользователя . Презентация содержит 55 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Лекция 14. Графический интерфейс пользователя
Описание слайда:
Лекция 14. Графический интерфейс пользователя

Слайд 2





Графические библиотеки
AWT – платформозависимая, java.awt.*
Swing – платформонезависимая, java.swing.*
SWT – платформозависимая
Описание слайда:
Графические библиотеки AWT – платформозависимая, java.awt.* Swing – платформонезависимая, java.swing.* SWT – платформозависимая

Слайд 3





Пользовательский интерфейс
 Java имеет  стандартные пакеты для создания интерфейсов пользователя (Graphical User Interfaces).
 Основные компоненты интерфейса:
Описание слайда:
Пользовательский интерфейс Java имеет стандартные пакеты для создания интерфейсов пользователя (Graphical User Interfaces). Основные компоненты интерфейса:

Слайд 4





AWT (Abstract Window Toolkit)
Присутствует во всех реализациях Java
Описанный в большинстве Java учебников
Адекватная для многих приложений
Использует элементы управления, определенные ОС
Трудно построить понятный интерфейс
Описание слайда:
AWT (Abstract Window Toolkit) Присутствует во всех реализациях Java Описанный в большинстве Java учебников Адекватная для многих приложений Использует элементы управления, определенные ОС Трудно построить понятный интерфейс

Слайд 5





Swing
Схожа с  AWT
Не работает в ранних версиях Java реализаций (Java 1.1 и выше)
Намного больше элементов более гибких управления
Некоторые элементы управления являются гораздо более сложными
Гораздо проще построить понятный интерфейс
Описание слайда:
Swing Схожа с AWT Не работает в ранних версиях Java реализаций (Java 1.1 и выше) Намного больше элементов более гибких управления Некоторые элементы управления являются гораздо более сложными Гораздо проще построить понятный интерфейс

Слайд 6





Swing vs. AWT
Пакет Swing больший, работает медленнее, и сложнее, чем AWT
Swing является более гибким и его элементы лучше выглядят
Swing vs. AWT несовместимы - нужно использовать любой один пакет
Изучение AWT является хорошим началом для Swing 
Многие из наиболее распространенных элементов управления похожи
Описание слайда:
Swing vs. AWT Пакет Swing больший, работает медленнее, и сложнее, чем AWT Swing является более гибким и его элементы лучше выглядят Swing vs. AWT несовместимы - нужно использовать любой один пакет Изучение AWT является хорошим началом для Swing Многие из наиболее распространенных элементов управления похожи

Слайд 7





Иерархия классов основных графических компонентов
Описание слайда:
Иерархия классов основных графических компонентов

Слайд 8





Тяжело- и легковесные компоненты
Тяжеловесные (heavyweight) компоненты
Отрисовываются операционной системой
Большинство AWT-компонент
Легковесные (ligntweight) компоненты
Отрисовываются java-кодом
Все Swing-компоненты, кроме окон верхнего уровня
Тяжеловесные компоненты всегда отрисовываются поверх легковесных
Описание слайда:
Тяжело- и легковесные компоненты Тяжеловесные (heavyweight) компоненты Отрисовываются операционной системой Большинство AWT-компонент Легковесные (ligntweight) компоненты Отрисовываются java-кодом Все Swing-компоненты, кроме окон верхнего уровня Тяжеловесные компоненты всегда отрисовываются поверх легковесных

Слайд 9





Java GUI API
Описание слайда:
Java GUI API

Слайд 10





Java GUI API
Описание слайда:
Java GUI API

Слайд 11





Окна верхнего уровня
Классы Container – это GUI-компоненты,  которые используются как контейнеры для других GUI-компонентов
Swing: Component, Container, JFrame, JDialog, JApplet, Jpanel
JFrame  - окно, не содержащее внешних окон
JDialog - временное всплывающее окно или сообщение
JApplet – апплет
JPanel - контейнер, содержащий UI-компонеты или графические элементы
Layout manager используется для позиционирования компонентов
Описание слайда:
Окна верхнего уровня Классы Container – это GUI-компоненты, которые используются как контейнеры для других GUI-компонентов Swing: Component, Container, JFrame, JDialog, JApplet, Jpanel JFrame - окно, не содержащее внешних окон JDialog - временное всплывающее окно или сообщение JApplet – апплет JPanel - контейнер, содержащий UI-компонеты или графические элементы Layout manager используется для позиционирования компонентов

Слайд 12





Контейнеры
Части интерфейса пользователя, содержащие другие компоненты
JPanel – панель
JFrame – окно приложения
JDialog – диалоговое окно
JSrollPane – область с полосой прокрутки
add(Component component) — добавляет в контейнер элемент component;
remove(Component component) — удаляет из контейнера элемент component;
removeAll() — удаляет все элементы контейнера;
getComponentCount() — возвращает число элементов контейнера.
Описание слайда:
Контейнеры Части интерфейса пользователя, содержащие другие компоненты JPanel – панель JFrame – окно приложения JDialog – диалоговое окно JSrollPane – область с полосой прокрутки add(Component component) — добавляет в контейнер элемент component; remove(Component component) — удаляет из контейнера элемент component; removeAll() — удаляет все элементы контейнера; getComponentCount() — возвращает число элементов контейнера.

Слайд 13





Layout Manager
Описание слайда:
Layout Manager

Слайд 14





Пример
Описание слайда:
Пример

Слайд 15





Combinations
Описание слайда:
Combinations

Слайд 16





null layout
JFrame f = new JFrame(“title”);
JPanel p = new JPanel( );
JButton b = new JButton(“press me”);

b.setBounds(new Rectangle(10,10, 100,50));
p.setLayout(null);		// x,y layout
p.add(b);
f.setContentPane(p);
Описание слайда:
null layout JFrame f = new JFrame(“title”); JPanel p = new JPanel( ); JButton b = new JButton(“press me”); b.setBounds(new Rectangle(10,10, 100,50)); p.setLayout(null); // x,y layout p.add(b); f.setContentPane(p);

Слайд 17





FlowLayout
JFrame f = new JFrame(“title”);
JPanel p = new JPanel( );
FlowLayout L = new FlowLayout( );
JButton b1 = new JButton(“press me”);
JButton b2 = new JButton(“then me”);

p.setLayout(L);
p.add(b1);
p.add(b2);
f.setContentPane(p);
Описание слайда:
FlowLayout JFrame f = new JFrame(“title”); JPanel p = new JPanel( ); FlowLayout L = new FlowLayout( ); JButton b1 = new JButton(“press me”); JButton b2 = new JButton(“then me”); p.setLayout(L); p.add(b1); p.add(b2); f.setContentPane(p);

Слайд 18





Окна приложения
Класс JFrame
Конструкторы
JFrame(title)
Свойства
title – заголовок
jMenuBar – меню
iconImage – иконка окна
Описание слайда:
Окна приложения Класс JFrame Конструкторы JFrame(title) Свойства title – заголовок jMenuBar – меню iconImage – иконка окна

Слайд 19





Закрытие окна
Метод
setDefaultCloseOperation(operation) – установить действие при закрытии окна
DO_NOTHING_ON_CLOSE
HIDE_ON_CLOSE 
DISPOSE_ON_CLOSE 
EXIT_ON_CLOSE (JFrame)
Описание слайда:
Закрытие окна Метод setDefaultCloseOperation(operation) – установить действие при закрытии окна DO_NOTHING_ON_CLOSE HIDE_ON_CLOSE DISPOSE_ON_CLOSE EXIT_ON_CLOSE (JFrame)

Слайд 20





Стандартные диалоги
Класс JOptionPane
Методы
showConfirmDialog(…) – да/нет/отмена
showInputDialog(…) – ввод текста
showMessageDialog(…) – информация
showOptionDialog(…) – выбор из списка
Параметры
parentComponent – родительская компонента
message – сообщение
optionType – набор кнопок
messageType – вид иконки
Описание слайда:
Стандартные диалоги Класс JOptionPane Методы showConfirmDialog(…) – да/нет/отмена showInputDialog(…) – ввод текста showMessageDialog(…) – информация showOptionDialog(…) – выбор из списка Параметры parentComponent – родительская компонента message – сообщение optionType – набор кнопок messageType – вид иконки

Слайд 21





Панель содержимого
Методы
getXXXPane() – возвращает панель
setXXXPane() – устанавливает панель
getContentPane(), setContentPane()
Описание слайда:
Панель содержимого Методы getXXXPane() – возвращает панель setXXXPane() – устанавливает панель getContentPane(), setContentPane()

Слайд 22





Компоненты
Части интерфейса пользователя, не содержащие других компонентов
JLabel – метка
JButton – кнопка
JMenuItem – элемент меню
JTextArea – редактор текста
Возможности компонентов
Генерация событий
Обработка ввода пользователя
Рамки
Отрисовка “в ручную”
Поддержка Drag & Drop
Компоновка
…
Описание слайда:
Компоненты Части интерфейса пользователя, не содержащие других компонентов JLabel – метка JButton – кнопка JMenuItem – элемент меню JTextArea – редактор текста Возможности компонентов Генерация событий Обработка ввода пользователя Рамки Отрисовка “в ручную” Поддержка Drag & Drop Компоновка …

Слайд 23





Работа компоновщика
Размещают компоненты внутри контейнера
Интерфейс java.awt.LayoutManager
panel.setLayout(new FlowLayout());
Разместить компоненты так, что бы удовлетворялись рекомендации
Рекомендации по размеру
Dimension minimumSize – минимальный
Dimension preferredSize – наилучший
Dimension maximumSize -- максимальный
Описание слайда:
Работа компоновщика Размещают компоненты внутри контейнера Интерфейс java.awt.LayoutManager panel.setLayout(new FlowLayout()); Разместить компоненты так, что бы удовлетворялись рекомендации Рекомендации по размеру Dimension minimumSize – минимальный Dimension preferredSize – наилучший Dimension maximumSize -- максимальный

Слайд 24





FlowLayout
Компоненты выкладываются одна за другой, с переносом строк
Свойства
alignment – выравнивание 
LEADING, CENTER, TRAILING
vgap / hgap – расстояние по горизонтали / вертикали
Описание слайда:
FlowLayout Компоненты выкладываются одна за другой, с переносом строк Свойства alignment – выравнивание LEADING, CENTER, TRAILING vgap / hgap – расстояние по горизонтали / вертикали

Слайд 25





BorderLayout
Компоненты располагаются по краям
Свойства
vgap / hgap – расстояние по вертикали / горизонтали
Описание слайда:
BorderLayout Компоненты располагаются по краям Свойства vgap / hgap – расстояние по вертикали / горизонтали

Слайд 26





GridLayout
Компоненты располагаются в виде таблицы
Свойства
rows / columns – количество строк / столбцов
vgap / hgap – расстояние по вертикали / горизонтали
Описание слайда:
GridLayout Компоненты располагаются в виде таблицы Свойства rows / columns – количество строк / столбцов vgap / hgap – расстояние по вертикали / горизонтали

Слайд 27





BoxLayout
Выкладывает компоненты горизонтально / вертикально
Box.createHorizontalBox()
Box.createVerticalBox()
Box box = Box.createVerticalBox();
box.add(new JButton("Кнопка"));
box.add(Box.createVerticalStrut(10));
box.add(Box.createVerticalGlue());
Описание слайда:
BoxLayout Выкладывает компоненты горизонтально / вертикально Box.createHorizontalBox() Box.createVerticalBox() Box box = Box.createVerticalBox(); box.add(new JButton("Кнопка")); box.add(Box.createVerticalStrut(10)); box.add(Box.createVerticalGlue());

Слайд 28





Другие компоновщики
CardLayout – помещает компоненты друг за другом
GridBagLayout – помещает компоненты в гибкую таблицу
SpringLayout – очень гибкий компоновщик, используется при кодогенерации

Запуск компоновщика
Автоматически – при изменении размера контейнера
Вручную
invalidate() – запросить перекомпоновку компоненты и всех ее предков
revalidate() – thead-safe invalidate()

Обрамление
Каждая компонента может иметь обрамление в виде рамки
Пакет javax.swing.border
Класс Border
Метод
Component.setBorder(Border)
Описание слайда:
Другие компоновщики CardLayout – помещает компоненты друг за другом GridBagLayout – помещает компоненты в гибкую таблицу SpringLayout – очень гибкий компоновщик, используется при кодогенерации Запуск компоновщика Автоматически – при изменении размера контейнера Вручную invalidate() – запросить перекомпоновку компоненты и всех ее предков revalidate() – thead-safe invalidate() Обрамление Каждая компонента может иметь обрамление в виде рамки Пакет javax.swing.border Класс Border Метод Component.setBorder(Border)

Слайд 29





Размер обрамления
Размер обрамления вычитается из размера компоненты
Класс Insets
Конструктор Insets(left, right, bottom, top)
Поля
left – отступ слева
right – отступ справа
bottom – отступ снизу
top – отступ сверху
Описание слайда:
Размер обрамления Размер обрамления вычитается из размера компоненты Класс Insets Конструктор Insets(left, right, bottom, top) Поля left – отступ слева right – отступ справа bottom – отступ снизу top – отступ сверху

Слайд 30





Типы обрамлений (простые)
Классы
EmptyBorder – пустое место
LineBorder – линия
EtchedBorder – объемность
BevelBorder – выпуклость / вдавленность
MatteBorder - Обрамление “набирается” из рисунка
Описание слайда:
Типы обрамлений (простые) Классы EmptyBorder – пустое место LineBorder – линия EtchedBorder – объемность BevelBorder – выпуклость / вдавленность MatteBorder - Обрамление “набирается” из рисунка

Слайд 31





Типы обрамлений (составные)
TitledBorder – обрамление с заголовком. Создается на основе другого обрамления
CompoundBorder – объединяет два обрамления
CompoundBorder(insideBorder, outsideBorder)
Описание слайда:
Типы обрамлений (составные) TitledBorder – обрамление с заголовком. Создается на основе другого обрамления CompoundBorder – объединяет два обрамления CompoundBorder(insideBorder, outsideBorder)

Слайд 32





Класс JPanel
Простейший контейнер
Конструктор
JPanel(LayoutManager)
Свойства
layoutManager -- компоновщик
Описание слайда:
Класс JPanel Простейший контейнер Конструктор JPanel(LayoutManager) Свойства layoutManager -- компоновщик

Слайд 33





Класс JLabel
JLabel - Метка с текстом
Конструктор
JLabel(text?, icon?)
Свойства
text – надпись на метке
icon – картинка
Описание слайда:
Класс JLabel JLabel - Метка с текстом Конструктор JLabel(text?, icon?) Свойства text – надпись на метке icon – картинка

Слайд 34





JButton - кнопка
JButton(String text?, Icon icon?)
setRolloverIcon(Icon icon)
setPressedIcon(Icon icon)
setMargin(Insets margin)
Описание слайда:
JButton - кнопка JButton(String text?, Icon icon?) setRolloverIcon(Icon icon) setPressedIcon(Icon icon) setMargin(Insets margin)

Слайд 35





Визуальные компоненты
JTextField
setText(String text)
getText(int offset, int length)
JPasswordField
set(get)EchoChar(char echo)
JTextArea
append(String text)
insert(String text, int position)
Описание слайда:
Визуальные компоненты JTextField setText(String text) getText(int offset, int length) JPasswordField set(get)EchoChar(char echo) JTextArea append(String text) insert(String text, int position)

Слайд 36





Панель прокрутки JScrollPane
Панель с полосами прокрутки
Конструктор
JScrollPane(Component?, vsbPolicy?, hsbPolicy?)
<dir>_SCROLLBAR_AS_NEEDED 
<dir>_SCROLLBAR_NEVER
<dir>_SCROLLBAR_ALWAYS
getContentPane().add(new JScrollPane(textArea));
Описание слайда:
Панель прокрутки JScrollPane Панель с полосами прокрутки Конструктор JScrollPane(Component?, vsbPolicy?, hsbPolicy?) <dir>_SCROLLBAR_AS_NEEDED <dir>_SCROLLBAR_NEVER <dir>_SCROLLBAR_ALWAYS getContentPane().add(new JScrollPane(textArea));

Слайд 37





Иконки
Класс ImageIcon
Конструктор
ImageIcon(url) – загрузить по URL
ImageIcon(file) – загрузить из файла
Методы
getIconHeight() – высота иконки
getIconWidth() – ширина иконки
getImage() – платформозависимый рисунок
Применение
frame.setIconImage(icon.getImage())
new JLable(icon);
Описание слайда:
Иконки Класс ImageIcon Конструктор ImageIcon(url) – загрузить по URL ImageIcon(file) – загрузить из файла Методы getIconHeight() – высота иконки getIconWidth() – ширина иконки getImage() – платформозависимый рисунок Применение frame.setIconImage(icon.getImage()) new JLable(icon);

Слайд 38





Визуальные компоненты
JToolBar
JComboBox
JSlider
JTabbedPane
JList
JProgressBar
Описание слайда:
Визуальные компоненты JToolBar JComboBox JSlider JTabbedPane JList JProgressBar

Слайд 39





Классификация событий
Низкоуровневые события
Создаются системой на основе действий пользователя
Инициатор события – текущая компонента
Высокоуровневые события
Создаются компонентами на основе других событий
Инициатор события – компонента создавшая событие
Описание слайда:
Классификация событий Низкоуровневые события Создаются системой на основе действий пользователя Инициатор события – текущая компонента Высокоуровневые события Создаются компонентами на основе других событий Инициатор события – компонента создавшая событие

Слайд 40





Низкоуровневые события
Ввод пользователя
InputEvent – базовый класс
KeyEvent – событие клавиатуры
MouseEvent – событие мыши
MouseWheelEvent – событие колеса прокрутки
Изменение состояния компоненты
ComponentEvent – изменение видимости / размера / местоположения компонента
FocusEvent – изменение фокуса
ContainerEvent – добавление / удаление компонент
WindowEvent – операции с окнами
Описание слайда:
Низкоуровневые события Ввод пользователя InputEvent – базовый класс KeyEvent – событие клавиатуры MouseEvent – событие мыши MouseWheelEvent – событие колеса прокрутки Изменение состояния компоненты ComponentEvent – изменение видимости / размера / местоположения компонента FocusEvent – изменение фокуса ContainerEvent – добавление / удаление компонент WindowEvent – операции с окнами

Слайд 41





Обработка низкоуровневых событий
Генерация событий
Клавиатурные – для компоненты владеющей фокусом
Мыши – для компоненты, над которой находится мышь
Прочие – для компоненты с которой произошли
Событие ввода может быть поглощено
Метод consume()
Описание слайда:
Обработка низкоуровневых событий Генерация событий Клавиатурные – для компоненты владеющей фокусом Мыши – для компоненты, над которой находится мышь Прочие – для компоненты с которой произошли Событие ввода может быть поглощено Метод consume()

Слайд 42





Высокоуровневые события
Примеры
ActionEvent – нажатие на кнопку
MenuEvent – операции с меню
PopupMenuEvent – операции с всплывающим меню
…
Описание слайда:
Высокоуровневые события Примеры ActionEvent – нажатие на кнопку MenuEvent – операции с меню PopupMenuEvent – операции с всплывающим меню …

Слайд 43





Слушатели
Оповещаются о возникновении события
Интерфейсы XXXListener
Управление слушателями
Метод addXXXListener(XXXListener listener) – добавить слушателя
Метод removeXXXListener(XXXListener listener) – убрать слушателя
Описание слайда:
Слушатели Оповещаются о возникновении события Интерфейсы XXXListener Управление слушателями Метод addXXXListener(XXXListener listener) – добавить слушателя Метод removeXXXListener(XXXListener listener) – убрать слушателя

Слайд 44





Создание слушателя
Реализация слушателя
Реализовать интерфейс
Добавить слушателя к компоненту
Реагировать на события
Вспомогательные классы
XXXAdapter – для реализации слушателей с несколькими методами
Описание слайда:
Создание слушателя Реализация слушателя Реализовать интерфейс Добавить слушателя к компоненту Реагировать на события Вспомогательные классы XXXAdapter – для реализации слушателей с несколькими методами

Слайд 45





MouseListener
Слушатель событий от мыши должен реализовать интерфейс MouseListener. В этом интерфейсе перечислены следующие методы:
mouseClicked(MouseEvent event) — выполнен щелчок мышкой на наблюдаемом объекте
mouseEntered(MouseEvent event) — курсор мыши вошел в область наблюдаемого объекта
mouseExited(MouseEvent event) — курсор мыши вышел из области наблюдаемого объекта
mousePressed(MouseEvent event) — кнопка мыши нажата в момент, когда курсор находится над наблюдаемым объектом
mouseReleased(MouseEvent event) — кнопка мыши отпущена в момент, когда курсор находится над наблюдаемым объектом
Описание слайда:
MouseListener Слушатель событий от мыши должен реализовать интерфейс MouseListener. В этом интерфейсе перечислены следующие методы: mouseClicked(MouseEvent event) — выполнен щелчок мышкой на наблюдаемом объекте mouseEntered(MouseEvent event) — курсор мыши вошел в область наблюдаемого объекта mouseExited(MouseEvent event) — курсор мыши вышел из области наблюдаемого объекта mousePressed(MouseEvent event) — кнопка мыши нажата в момент, когда курсор находится над наблюдаемым объектом mouseReleased(MouseEvent event) — кнопка мыши отпущена в момент, когда курсор находится над наблюдаемым объектом

Слайд 46





Слушатели
FocusListener
MouseWheelListener
KeyListener
ChangeListener
WindowListener
СomponentListener – смена положения, размера…
ActionListener – универсальный слушатель
actionPerformed(ActionEvent event)
Описание слайда:
Слушатели FocusListener MouseWheelListener KeyListener ChangeListener WindowListener СomponentListener – смена положения, размера… ActionListener – универсальный слушатель actionPerformed(ActionEvent event)

Слайд 47





ActionListener
Событие ActionEvent
Свойства
getActionCommand() – название команды
getModifiers() – состояние клавиш-модификаторов
getWhen() – когда произошло
Слушатель ActionListener
Метод actionPerformed(ActionEvent e)
Описание слайда:
ActionListener Событие ActionEvent Свойства getActionCommand() – название команды getModifiers() – состояние клавиш-модификаторов getWhen() – когда произошло Слушатель ActionListener Метод actionPerformed(ActionEvent e)

Слайд 48





Действия
Действие – абстракция действия которое можно произвести
Интерфейс Action
Методы
actionPerformed(ActionEvent) – совершить действие
setEnabled(boolean) – запретить / разрешить
isEnabled() – проверить разрешение
putValue(key, value) – записать значение свойства
getValue(key) – прочитать значение свойства
Описание слайда:
Действия Действие – абстракция действия которое можно произвести Интерфейс Action Методы actionPerformed(ActionEvent) – совершить действие setEnabled(boolean) – запретить / разрешить isEnabled() – проверить разрешение putValue(key, value) – записать значение свойства getValue(key) – прочитать значение свойства

Слайд 49





Свойства действий
Константы интерфейса Action
NAME – название действия
SHORT_DESCRIPTION –описание для всплывающих подсказок
LONG_DESCRIPTION –описание для контекстной помощи
ACTION_COMMAND_KEY – имя команды
SMALL_ICON – иконка
Описание слайда:
Свойства действий Константы интерфейса Action NAME – название действия SHORT_DESCRIPTION –описание для всплывающих подсказок LONG_DESCRIPTION –описание для контекстной помощи ACTION_COMMAND_KEY – имя команды SMALL_ICON – иконка

Слайд 50





Меню
Основное меню
Класс JMenuBar
Раскрывающееся меню
Класс JMenu
Элементы меню
Класс JMenuItem – простой
Класс JCheckBoxMenuItem – помечаемый
Класс JRadioButtonMenuItem – один из
Класс JSeparator – разделитель
Описание слайда:
Меню Основное меню Класс JMenuBar Раскрывающееся меню Класс JMenu Элементы меню Класс JMenuItem – простой Класс JCheckBoxMenuItem – помечаемый Класс JRadioButtonMenuItem – один из Класс JSeparator – разделитель

Слайд 51





Создание меню
Описание слайда:
Создание меню

Слайд 52





Swing и потоки
Обработка сообщений и перерисовка интерфейса пользователя происходят в потоке событий (EventThread)
Если занять EventThread, GUI “зависнет”
С видимыми компонентами можно оперировать только в EventThread
GUI рекомендуется создавать в EventThread
Описание слайда:
Swing и потоки Обработка сообщений и перерисовка интерфейса пользователя происходят в потоке событий (EventThread) Если занять EventThread, GUI “зависнет” С видимыми компонентами можно оперировать только в EventThread GUI рекомендуется создавать в EventThread

Слайд 53





Видимые компоненты
Компонента считается видимой, если
Она добавлена к видимому контейнеру
Окна считаются видимой
После вызова метода pack()
После вызова setVisible(true)
Описание слайда:
Видимые компоненты Компонента считается видимой, если Она добавлена к видимому контейнеру Окна считаются видимой После вызова метода pack() После вызова setVisible(true)

Слайд 54





Исполнение действий в EventThread
Класс SwingUtilities
Методы 
invokeLater(Runnable) – выполнить метод run() в EventThread
invokeAndWait(Runnable) – выполнить метод run() в EventThread и дождаться окончания
Описание слайда:
Исполнение действий в EventThread Класс SwingUtilities Методы invokeLater(Runnable) – выполнить метод run() в EventThread invokeAndWait(Runnable) – выполнить метод run() в EventThread и дождаться окончания

Слайд 55


  
  Лекция 14. Графический интерфейс пользователя  , слайд №55
Описание слайда:



Похожие презентации
Mypresentation.ru
Загрузить презентацию