1 Java 13. ЭЛЕМЕНТЫ КОМПОНОВКИ И УПРАВЛЕНИЯ. 2 Элементы управления Компоненты библиотеки Swing не привязаны к конкретной платформе. Классы компонент доступны.

Презентация:



Advertisements
Похожие презентации
Java: графический интерфейс пользователя. Swing и AWT AWT – Abstract Window Toolkit, единственный инструментарий для визуального интерфейса до 1998 года;
Advertisements

Java: графический интерфейс пользователя Менеджеры компоновки.
Java Advanced Интерфейс пользователя Часть 1. 2 СПбГУ ИТМО Georgiy KorneevJava Advanced / Интерфейс пользователя 1 Содержание 1.Компоненты и контейнеры.
Пользовательский интерфейс. GUI с применением AWT Создание элементов пользовательского интерфейса библиотека AWT (Аbstract Window Toolkit) поручала встроенным.
1 © Luxoft Training 2013 Модуль 6 Обзор библиотек GUI разработки Введение в Swing Архитектура Swing Контейнеры Swing Компоненты Swing Менеджеры компоновки.
Каскадные таблицы стилей CSS Блоковая модель. Синтаксис CSS.
Язык программирования Java Дмитриев Андрей Владиславович Май 2007.
Язык HTML Web-дизайн Web – World Wide Web (WWW) Всемирная паутина. Design – проектирование, конструирование. Web-дизайн – проектирование в Интернете.
Таблицы Минимальный набор тегов и их параметров для создания таблицы. Документ может содержать произвольное число таблиц, причём допускается вложенность.
Язык HTML HyperText Markup Language Язык разметки гипертекста.
5 класс Главное меню. Запуск программ. Учитель: Бочек А.И. Г. Новокузнецк Кемеровской обл. СОШ 56.
Тема : Использование различных приемов форматирования. Таблицы в HTML.
Лекция 2.Основы объектной модели Java 1. Содержание 1.Основы ООП. 2.Понятия «класс» и «объект». 3.Поля и методы класса. Спецификаторы доступа: public,
Создание таблиц. Вложенные таблицы. Лекция 4. Создание таблиц Любая таблица в HTML определяется с помощью тега. Все что расположено между тегами и, считается.
Тэг - создает таблицу. Все прочие элементы таблицы – текст, рисунки, списки - должны быть вложенными в него. Допускается также вложение таблиц одна в.
Тег - создает таблицу. Все прочие элементы таблицы – текст, рисунки, списки - должны быть вложенными в него. Допускается также вложение таблиц одна в.
Изменение числа колонок на странице 1. В палитре Pages (Страницы) дважды щелкните на значке страницы, число колонок на которой хотите изменить. 2. Выберите.
ГОУ СОШ 840 Работа с таблицами Изучая материал вы научитесь следующим операциям: создание таблицы перемещение по таблице обработка таблиц форматирование.
1 Обработка событий Событие – объект специального класса, описывающий изменение состояния объекта источника. Классы для обработки событий находятся в пакете.
Объектно-ориентированное программирование Основы языка программирования Lazarus.
Транксрипт:

1 Java 13. ЭЛЕМЕНТЫ КОМПОНОВКИ И УПРАВЛЕНИЯ

2 Элементы управления Компоненты библиотеки Swing не привязаны к конкретной платформе. Классы компонент доступны разработчикам в составе JDK и отдельного продукта JFC (Java Foundation Classes). JFC содержит пакет Swing и большое число компонентов JavaBeans, которые могут использоваться как для ручной, так и для визуальной разработки пользовательских интерфейсов. Каждая компонента имеет свойства (и соотв. методы для них) предпочтительный размер ( preferredSize ) минимальный размер ( minimumSize )

3 Менеджеры размещения Контролируют позиционирование компонентов, добавляемых в окна, и их упорядочение Для определения размеров компонент используются их preferredSize и minimumSize Классы менеджеров (реализуют интерфейс LayoutManager ) FlowLayout BorderLayout GridLayout CridBagLayout BoxLayout и др.

4 java.awt.FlowLayout Менеджер поточной компоновки. Без состояния example01 поточная компоновка по центру: FlowLayoutEx.java public class FlowLayoutEx extends JFrame { public FlowLayoutEx() { setLayout(new FlowLayout()); for (int i = 0; i < c.length / 3; i++) { add(new JButton(Кнопка + i)); add(new JLabel(Метка + i)); add(new JTextField(Текст + i)); }

5 java.awt.BorderLayout Позволяет разложить компоненты по границам контейнера и одну в центре. С состоянием Менеджер хранит внутри себя соответствие между компонентами и их положением example02: BorderLayoutEx.java content.add(createLabel("Top"), BorderLayout.NORTH) content.add(createLabel("Top"), BorderLayout.PAGE_START) Константы положения NORTH SOUTH WEST EAST PAGE_START PAGE_END LINE_START LINE_END CENTER абсолютныеотносительные

6 java.awt.GridLayout Разделяет форму на заданное количество рядов и колонок Без состояния Ориентация текста ( ComponentOrientation ) – учитывается при раскладке. Предпочтительные размеры компонент ( PreferredSize ) – не учитываются. example03: GridLayoutEx.java

7 java.awt.GridBagLayout Ограничения: положение в сетке - координаты верхнего левого угла количество занимаемых строк/столбцов заполняет ли компонента ячейку, в каком направлении куда прижимается – к какой-либо стороне, в угол, по центру пустое пространство вокруг компоненты распределение свободного пространства example04: GridBagLayoutEx.java Раскладывает компоненты в прямоугольной сетке С состоянием Каждой компоненте ставится в соответствие набор ограничений (класс GridBagConstraints) GridBagConstraintsGridBagConstraints(int gridx, int gridy, int gridwidth, int gridheight, double weightx, double weighty, int anchor, int fill, Insets insets, int ipadx, int ipady)Insets

8 java.awt.GridBagLayout weightx / weighty С1.weightx = A С2.weightx = B Ширина свободного пространства – W. С1 получит в свое пользование W * A / (A + B) пространства, С2 получит W * B / (A + B). в сумме они дают W ширина выделенного столбца = предпочтительная ширина компоненты + выделенное свободное пространство example04: GBLweightEx.java GridBagConstraints(int gridx, int gridy, int gridwidth, int gridheight, double weightx, double weighty, int anchor, int fill, Insets insets, int ipadx, int ipady)

9 java.awt.GridBagLayout gridx / gridy / gridwidth / gridheight gridx / gridy – координаты ячейки в сетке (левой верхней ячейки) gridwidth / gridheight – количество занимаемых ячеек по ширине / высоте content.add(lblImage, new GridBagConstraints(0, 0, 1, 2, 0, 0, GridBagConstraints.NORTH,GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0)); GridBagConstraints(int gridx, int gridy, int gridwidth, int gridheight, double weightx, double weighty, int anchor, int fill, Insets insets, int ipadx, int ipady)

10 java.awt.GridBagLayout anchor / fill Расположение компоненты в выделенной прямоугольной области: растянута по одной или обеим осям ( fill ) прижата к одной стороне или в угол ( anchor ) NORTH NORTHEAST EAST SOUTHEAST SOUTH SOUTHWEST WEST NORTHWEST PAGE_START FIRST_LINE_END LINE_END LAST_LINE_END PAGE_END LAST_LINE_START LINE_START FIRST_LINE_STAT BASELINE BASELINE_LEADING BASELINE_TRAILING ABOVE_BASELINE ABOVE_BASELINE_LEADING ABOVE_BASELINE_TRAILING BELOW_BASELINE BELOW_BASELINE_LEADING BELOW_BASELINE_TRAILING константы для anchor абсолютныеотносительныеновые (Java 6) CENTER example04: GBLanchorEx.java GridBagConstraints(int gridx, int gridy, int gridwidth, int gridheight, double weightx, double weighty, int anchor, int fill, Insets insets, int ipadx, int ipady)

11 java.awt.GridBagLayout insets и ipadx / ipady ipadx и ipady добавляются к размерам компоненты с каждой стороны insets описывает прозрачную рамку вокруг компоненты Основное, что надо сделать при использовании GridBagLayout : Расчертить сетку и определить положение компонент. За это отвечают gridx/gridy/gridwidth/gridheight. Определить, как распределять свободное пространство. Это weightx/weighty. Определить расположение компонент в предоставляемых им областях. Это параметры anchor и fill. Определить промежутки между компонентами и (если необходимо) "прибавки" к размерам – insets и ipadx/ipady. GridBagConstraints(int gridx, int gridy, int gridwidth, int gridheight, double weightx, double weighty, int anchor, int fill, Insets insets, int ipadx, int ipady)

12 javax.swing.BoxLayout Раскладывает компоненты в том порядке, в каком они были добавлены в контейнер, друг за дружкой, вплотную. public BoxLayout (Container target, int axis) target - контейнер, на объектах которого менеджер будет выполнять раскладку axis - ось, вдоль которой будет осуществляться раскладка X_AXIS Y_AXIS абсолютные константы для axis LINE_AXIS PAGE_AXIS относительные example05: BoxLayoutEx.java

13 Layout = null example06: NullLayoutEx.java

14 Ключевые моменты Компоненты имеют предпочтительный размер ( preferredSize ) и минимальный размер ( minimumSize ) Для размещения визуальных компонент внутри контейнера используются менеджеры раскладки ( LayoutManager ) Класс ComponentOrientation отвечает за ориентацию текста, зависящую от языка Возможно абсолютное позиционирование компонент в контейнере без использования менеджера раскладки