Языки программирования
<<  Java Advanced Java Advanced  >>
Java Advanced
Java Advanced
Содержание
Содержание
Интерфейс пользователя
Интерфейс пользователя
Компоненты и контейнеры
Компоненты и контейнеры
Компоненты
Компоненты
Контейнеры
Контейнеры
Возможности компонентов
Возможности компонентов
Тяжело- и легковесные компоненты
Тяжело- и легковесные компоненты
Пример: кнопки на панели
Пример: кнопки на панели
Окна верхнего уровня
Окна верхнего уровня
Типы окон
Типы окон
Структура окна
Структура окна
Окна приложения
Окна приложения
Закрытие окон
Закрытие окон
Пример: окно с кнопками
Пример: окно с кнопками
Меню
Меню
Пример: окно с меню (2)
Пример: окно с меню (2)
Пример: окно с меню (2)
Пример: окно с меню (2)
Пример: окно с меню (3)
Пример: окно с меню (3)
Работа с диалогами
Работа с диалогами
Стандартные диалоги
Стандартные диалоги
Компоновщики
Компоновщики
Компоновщики
Компоновщики
Работа компоновщика
Работа компоновщика
Применение компоновщиков
Применение компоновщиков
FlowLayout
FlowLayout
BorderLayout
BorderLayout
GridLayout
GridLayout
BoxLayout
BoxLayout
Другие компоновщики
Другие компоновщики
Запуск компоновщика
Запуск компоновщика
Примеры компонент
Примеры компонент
Класс JPanel
Класс JPanel
Класс JLabel
Класс JLabel
Класс JScrollPane
Класс JScrollPane
Иконки
Иконки
Класс JSplitPane
Класс JSplitPane
Обрамление
Обрамление
Обрамление
Обрамление
Размер обрамления
Размер обрамления
Типы обрамлений
Типы обрамлений
Простые обрамления
Простые обрамления
Наборные обрамления
Наборные обрамления
Обрамления с заголовком
Обрамления с заголовком
Составное обрамление
Составное обрамление
Фабрика обрамлений
Фабрика обрамлений
Swing и потоки
Swing и потоки
Swing и потоки
Swing и потоки
Видимые компоненты
Видимые компоненты
Исполнение действий в EventThread
Исполнение действий в EventThread
Заключение
Заключение
Ссылки
Ссылки
Вопросы
Вопросы

Презентация на тему: «Java Advanced». Автор: Geo. Файл: «Java Advanced.ppt». Размер zip-архива: 166 КБ.

Java Advanced

содержание презентации «Java Advanced.ppt»
СлайдТекст
1 Java Advanced

Java Advanced

Интерфейс пользователя Часть 1

2 Содержание

Содержание

Компоненты и контейнеры Окна верхнего уровня Компоновщики Примеры компонент Обрамление Swing и потоки Заключение

Java Advanced / Интерфейс пользователя 1

3 Интерфейс пользователя

Интерфейс пользователя

Платформозависимый интерфейс AWT Пакеты java.awt.* Платформонезависимый интерфейс Swing Пакеты javax.swing.*

Java Advanced / Интерфейс пользователя 1

4 Компоненты и контейнеры

Компоненты и контейнеры

Часть 1

5 Компоненты

Компоненты

Части интерфейса пользователя, не содержащие других компонентов JLabel – метка JButton – кнопка JMenuItem – элемент меню JTextArea – редактор текста

Java Advanced / Интерфейс пользователя 1

6 Контейнеры

Контейнеры

Части интерфейса пользователя, содержащие другие компонентов JPanel – панель JFrame – окно приложения JDialog – диалоговое окно JSrollPane – область с полосой прокрутки

Java Advanced / Интерфейс пользователя 1

7 Возможности компонентов

Возможности компонентов

Генерация событий Обработка ввода пользователя Рамки Отрисовка “в ручную” Поддержка Drag & Drop Компановка …

Java Advanced / Интерфейс пользователя 1

8 Тяжело- и легковесные компоненты

Тяжело- и легковесные компоненты

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

Java Advanced / Интерфейс пользователя 1

9 Пример: кнопки на панели

Пример: кнопки на панели

JPanel panel = new JPanel(new FlowLayout()); panel.add(new JButton("<html>e=mc<sup>2</sup></html>")); panel.add(new JButton("Button 2")); panel.add(new JButton("Button 3")); panel.add(new JButton("Long-Named Button 4")); panel.add(new JButton("5"));

Java Advanced / Интерфейс пользователя 1

10 Окна верхнего уровня

Окна верхнего уровня

Часть 2

11 Типы окон

Типы окон

Окно приложения Класс JFrame Диалоговое окно Класс JDialog Окно апплета Класс JApplet Вложенное окно Класс JInternalFrame

Java Advanced / Интерфейс пользователя 1

12 Структура окна

Структура окна

Методы getXXXPane() – возвращает панель setXXXPane() – устанавливает панель

Java Advanced / Интерфейс пользователя 1

13 Окна приложения

Окна приложения

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

Java Advanced / Интерфейс пользователя 1

14 Закрытие окон

Закрытие окон

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

Java Advanced / Интерфейс пользователя 1

15 Пример: окно с кнопками

Пример: окно с кнопками

JFrame frame = new JFrame("SimpleDemo"); < … Созданние панели … > // Добавление панели к окну frame.getContentPane().add(panel); frame.pack(); // подгонка размера frame.setVisible(true); // Показать пользователю

Java Advanced / Интерфейс пользователя 1

16 Меню

Меню

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

Java Advanced / Интерфейс пользователя 1

17 Пример: окно с меню (2)

Пример: окно с меню (2)

frame.setJMenuBar(createMainMenu()); … public static JMenuBar createMainMenu() { JMenuBar mainMenu = new JMenuBar(); mainMenu.add(createFileMenu()); mainMenu.add(createTestMenu()); mainMenu.add(createHelpMenu()); return mainMenu; }

Java Advanced / Интерфейс пользователя 1

18 Пример: окно с меню (2)

Пример: окно с меню (2)

public static JMenu createFileMenu() { JMenu fileMenu = new JMenu("File"); fileMenu.setMnemonic(KeyEvent.VK_F); fileMenu.add(new JMenuItem("Open")); fileMenu.add(new JMenuItem("Save")); fileMenu.add(new JSeparator()); fileMenu.add(new JMenuItem("Exit")); return fileMenu; }

Java Advanced / Интерфейс пользователя 1

19 Пример: окно с меню (3)

Пример: окно с меню (3)

Java Advanced / Интерфейс пользователя 1

20 Работа с диалогами

Работа с диалогами

Класс JDialog Конструкторы JDialog(owner, title, modal) Свойства String title -- заголовок boolean modal – модальность

Java Advanced / Интерфейс пользователя 1

21 Стандартные диалоги

Стандартные диалоги

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

Java Advanced / Интерфейс пользователя 1

22 Компоновщики

Компоновщики

Часть 3

23 Компоновщики

Компоновщики

Размещают компоненты внутри контейнера Интерфейс java.awt.LayoutManager

Java Advanced / Интерфейс пользователя 1

24 Работа компоновщика

Работа компоновщика

Разместить компоненты так, что бы удовлетворялись рекомендации Рекомендации по размеру Dimension minimumSize – минимальный Dimension preferredSize – наилучший Dimension maximumSize -- максимальный

Java Advanced / Интерфейс пользователя 1

25 Применение компоновщиков

Применение компоновщиков

JPanel panel = new JPanel(); panel.setLayout(new BorderLayout()); panel.add(new JButton("1“), BorderLayout.PAGE_START); panel.add(new JButton("1“), BorderLayout.PAGE_END);

Java Advanced / Интерфейс пользователя 1

26 FlowLayout

FlowLayout

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

Java Advanced / Интерфейс пользователя 1

27 BorderLayout

BorderLayout

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

Java Advanced / Интерфейс пользователя 1

28 GridLayout

GridLayout

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

Java Advanced / Интерфейс пользователя 1

29 BoxLayout

BoxLayout

Выкладывает компоненты горизонтально / вертикально Конструктор BoxLayout(container, axis) PAGE_AXIS, LINE_AXIS

Java Advanced / Интерфейс пользователя 1

30 Другие компоновщики

Другие компоновщики

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

Java Advanced / Интерфейс пользователя 1

31 Запуск компоновщика

Запуск компоновщика

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

Java Advanced / Интерфейс пользователя 1

32 Примеры компонент

Примеры компонент

Часть 4

33 Класс JPanel

Класс JPanel

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

Java Advanced / Интерфейс пользователя 1

34 Класс JLabel

Класс JLabel

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

Java Advanced / Интерфейс пользователя 1

35 Класс JScrollPane

Класс JScrollPane

Панель с полосами прокрутки Конструктор JScrollPane(Component?, vsbPolicy?, hsbPolicy?) <dir>_SCROLLBAR_AS_NEEDED <dir>_SCROLLBAR_NEVER <dir>_SCROLLBAR_ALWAYS

Java Advanced / Интерфейс пользователя 1

36 Иконки

Иконки

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

Java Advanced / Интерфейс пользователя 1

37 Класс JSplitPane

Класс JSplitPane

Разделяет контейнер на две части Конструктор JSplitPane (orientation) HORIZONTAL_SPLIT VERTICAL_SPLIT Свойства leftComponent – компонента слева rightComponent – компонента справа

Java Advanced / Интерфейс пользователя 1

38 Обрамление

Обрамление

Часть 5

39 Обрамление

Обрамление

Каждая компонента может иметь обрамление в виде рамки Пакет javax.swing.border Класс Border Метод Component.setBorder(Border)

Java Advanced / Интерфейс пользователя 1

40 Размер обрамления

Размер обрамления

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

Java Advanced / Интерфейс пользователя 1

41 Типы обрамлений

Типы обрамлений

Простые Наборные С заголовком Составные

Java Advanced / Интерфейс пользователя 1

42 Простые обрамления

Простые обрамления

Классы EmptyBorder – пустое место LineBorder – линия EtchedBorder – объемность BevelBorder – выпуклость / вдавленность

Java Advanced / Интерфейс пользователя 1

43 Наборные обрамления

Наборные обрамления

Обрамление “набирается” из рисунка Класс MatteBorder

Java Advanced / Интерфейс пользователя 1

44 Обрамления с заголовком

Обрамления с заголовком

Создается на основе другого обрамления Класс TitledBorder

Свойства justification – горизонтальное местоположение position – вертикальное местопложение

Java Advanced / Интерфейс пользователя 1

45 Составное обрамление

Составное обрамление

Объединяет два обрамления Класс CompoundBorder Конструктор CompoundBorder(insideBorder, outsideBorder)

Java Advanced / Интерфейс пользователя 1

46 Фабрика обрамлений

Фабрика обрамлений

Класс BorderFactory Методы create<…>Border(properties)

Java Advanced / Интерфейс пользователя 1

47 Swing и потоки

Swing и потоки

Часть 6

48 Swing и потоки

Swing и потоки

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

Java Advanced / Интерфейс пользователя 1

49 Видимые компоненты

Видимые компоненты

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

Java Advanced / Интерфейс пользователя 1

50 Исполнение действий в EventThread

Исполнение действий в EventThread

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

Java Advanced / Интерфейс пользователя 1

51 Заключение

Заключение

Часть 7

52 Ссылки

Ссылки

Creating a GUI with JFC/Swing (Tutorial) // http://java.sun.com/docs/books/tutorial/uiswing/ Java Foundation Classes // http://java.sun.com/products/jfc/ Swing Connection // http://java.sun.com/products/jfc/tsc/

Java Advanced / Интерфейс пользователя 1

53 Вопросы

Вопросы

Java Advanced / Интерфейс пользователя 1

«Java Advanced»
http://900igr.net/prezentacija/informatika/java-advanced-110882.html
cсылка на страницу

Языки программирования

23 презентации о языках программирования
Урок

Информатика

130 тем
Слайды