- •Обозначения и сокращения
- •Введение
- •1 Простое SWT приложение
- •1.1 Создание приложения
- •1.2 Запуск SWT программы из командной строки
- •1.3 Структура приложения
- •1.4 Слушатели событий
- •1.5 Работа с подпроцессами
- •1.5.1 Диспетчеризация внутренних событий
- •1.5.2 Нить пользовательского интерфейса SWT
- •1.5.3 Выполнение кода за пределами нити UI
- •1.5.4 Рабочая среда и нити
- •2 Элементы управления
- •2.1 Стандартные виджеты
- •2.2 Пользовательские виджеты
- •2.3 Класс Label
- •2.3.1 Стили
- •2.3.2 Текст
- •2.3.3 Изображение
- •2.3.4 Разделители
- •2.3.5 Выравнивание
- •2.3.6 Перенос слов текста
- •2.3.7 Пример использования этикеток
- •2.4 Класс Text
- •2.5 Класс Button
- •2.5.1 Стили
- •2.5.2 Текст
- •2.5.3 Изображение
- •2.5.4 Выравнивание
- •2.5.5 Push Button
- •2.5.6 Toggle Button
- •2.5.7 Check Box
- •2.5.8 Radio Button
- •2.5.9 Selection (выбор)
- •2.5.10 Указание используемой по умолчанию кнопки
- •2.6 Класс List
- •2.6.1 Стили
- •2.6.2. Добавление элементов в список
- •2.6.3. Удаление элементов из списка
- •2.6.4 Получение элементов списка
- •2.6.5 Настройка значений элементов
- •2.6.6 Поиск элементов
- •2.6.7 Выбор элементов списка
- •2.6.8 Обработка событий списка List
- •2.7 Класс Link
- •2.7.1 Стили
- •2.7.2. Текст
- •2.7.3. Обработчики событий
- •2.8 Класс Table
- •2.9 Класс TableColumn
- •2.10 Класс TableItem
- •2.11 Класс Item
- •2.12 Класс Combo
- •2.13 Класс FileDialog
- •2.14 Класс Menu
- •2.15 Класс MenuItem
- •2.16 Класс MessageBox
- •2.17 Класс TabFolder
- •2.18 Class TabItem
- •3 Макеты
- •3.1 Класс FillLayout
- •3.2 Класс GridLayout
- •3.3 Класс GridData
- •3.4 Класс RowLayout
- •3.5 Класс RowData
- •3.6 Класс FormLayout
- •3.7 Класс FormAttachment
- •3.8 Класс FormData
- •4 Графика
- •4.1 Класс GC
- •4.2 Класс Canvas
- •5 Пакет printing
- •5.1 Класс PrintDialog
- •5.2 Класс Printer
- •5.3 Класс PrinterData
- •6 Пакет events
- •6.1 Класс Event
- •7 Разработка приложений
- •8 Разработка новых компонент
- •9 Дополнительные возможности библиотеки SWG
- •9.1 Компоненты управления
- •9.2 Виджеты
- •9.3 Плоские формы
- •9.4 Линии, точки и ломанные
- •9.5 Класс PathShape
- •10 Анимация
- •10.1 Типы анимации
- •10.2 Анимация во времени
- •10. 3 Поддержка времени
- •10.4 Пример приложения с элементами анимации
- •Список использованных источников
9.5 Класс PathShape
Класс PathShape — абстрактный класс для потомков для классов, определяемых командами описания пути. Является потомком класса Graphic.
Путь определяется описанными ниже командами. Каждая команда имеет одну или более точек, задающих каждый сегмент фигуры. Когда создается путь начальная текущая точка имеет координаты (0,0). Первый метод moveTo может изменить точку начала пути.
moveTo(float x, float y) — перемещает текущую точку в указанные координаты и начинает новый сегмент пути;
moveTo(float[ ] pt) — то же самое для массива из двух чисел; moveTo(Point pt) — то же самое для вектора из двух чисел;
lineTo(float x, float y) — добавляет отрезок из текущей в указанную точку, которая становится текущей;
quadTo(float cx, float cy, float x, float y) — сегмент кривой второго порядка из текущей точки в заданную (x,y) через точку (cx,cy);
cubic(float cx1, float cy1, float cx2, float cy2, float x, float y) — сегмент кубического отрезка из текущей в заданную (x,y) через точки (cx1,cy)1, (cx2,cy2);
close() — замкнуть путь ;
reset() — удалить все точки пути. Текущей становится точка (0,0).
Сегменты пути имеют типы, определяемые константами целого типа: PATH_MOVE_TO
PATH_LINE_TO
PATH_QUAD_TO
PATH_CUBIC_TO PATH_CLOSE PATH_ADD_ARC PATH_ADD_RECTANGLE PATH_ADD_TEXT
Для манипулирования путями используются методы:
164
getPointCount() — запрос числа точек; getTypes() — запрос типов сегментов в массиве; getPoints() — запрос массива координат точек;
setPoints(float[ ] pts) — задание массива заменяемых координат точек пути. Их число должно соответствовать числу существующих точек пути;
setPoints(Point[ ] pts) — то-же самое для массива точек;
setPoints(float[ ] pts, int index) — задание подмножества точек, начиная с указанного номера;
setPoint(Point pt, int index) — задание координат указанной точки; setPointX(float x, int index) — задание координаты X точки; setPointY(float y, int index) — задание координаты Y точки; getPointX(int index) — запрос координаты X точки;
getPointY(int index) — запрос координаты Y точки.
Класс BasicPath потомок класса PathShape, создающий залитые или контурные фигуры. Пример.
BasicPath path = new BasicPath(parent, SWT.NONE); path.quadTo(100, 200, 200, 0);
path.close();
path.setBackgroundColor(blue);
Класс AdvancedPath потомок класса PathShape, создающий залитые или контурные фигуры. Фигуры могут содержать набор замкнутых фрагментов пути. Пример.
AdvancedPath path = new AdvancedPath(parent, SWT.NONE); path.addRectangle(100, 100, 300, 300); path.addArc(150, 150, 150, 150, 0 , 360); path.close();
path.setBackgroundColor(darkGreen);
Класс Caption. Заголовок Caption создает текст. Текст может быть масштабирован, повернут и т.п.
setText(String string) – задание текста getText() — запрос текста
setFont(Font font) – задание шрифта getFont(Font font) – запрос шрифта
165