- •Обозначения и сокращения
- •Введение
- •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 Пример приложения с элементами анимации
- •Список использованных источников
инициировать. Например, для события clicked следует в классе Canvas зарегистрировать событие mouse и соответствующие расчеты (например, количество нажатий), задающие, должно ли событие mouse класса Canvas запускать событие вашего виджета. По такому принципу реализованы многие управляющие элементы в org.eclipse.swt.custom. Простой пример можно найти в классе CLabel.
2.3 Класс Label
java.lang.Object
org.eclipse.swt.widgets.Widget
org.eclipse.swt.widgets.Control
org.eclipse.swt.widgets.Label
Класс Label используется для вывода текста, изображений, вертикальных или горизонтальных разделителей. Текст или изображение задаются при создании элемента вызовом соответствующих методов. Пользователь не может изменить их содержимого, поскольку он никогда не получает фокус ввода, который
управляет сообщениями от клавиатуры и мышки. Элемент не может иметь обработчиков событий, хотя класс Label является наследником класса Control. Для создания экземпляра класса Label используется следующий конструктор: public Label (Composite parent, int style)
где parent – обязательный родительский компонент (контейнер), а style это один или несколько стилей определяющий параметры создания класса Label.
2.3.1 Стили
Стили формируют битовую маску по принципу логического «ИЛИ». Для объединения стилей используется операция "|".
Таблица 2.3 – Стили компонентов класса Label
Стиль |
Описание |
Примечание |
|
SWT.SEPARATOR |
Вывод разделителя |
По умолчанию |
|
|
|
устанавливается |
|
|
|
вертикальный разделитель |
|
SWT.HORIZONTAL |
Вывод горизонтального |
Только один атрибут из |
|
разделителя |
SWT.HORIZONTAL и |
||
|
|||
SWT.VERTICAL |
Вывод вертикального |
SWT.VERTICAL может быть |
|
разделителя |
выбран |
||
|
33
Стиль |
Описание |
Примечание |
|
|
Вывод разделителя с |
|
|
SWT.SHADOW_IN |
эффектом выпуклости |
|
|
|
«внутрь» |
Только один атрибут из |
|
|
Вывод разделителя с |
SHADOW_IN, |
|
SWT.SHADOW_OUT |
эффектом выпуклости |
SHADOW_OUT и |
|
|
«наружу» |
SHADOW_NONE может быть |
|
SWT.SHADOW_NON |
Явное указание на |
выбран |
|
отсутствие эффекта |
|
||
E |
|
||
выпуклости |
|
||
|
|
||
SWT.CENTER |
Выравнивание по |
Только один атрибут из |
|
центру |
|||
|
|
CENTER, LEFT и RIGHT |
|
SWT.LEFT |
Выравнивание влево |
||
может быть выбран |
|||
SWT.RIGHT |
Выравнивание вправо |
||
|
|||
|
Разбивать (переносить) |
|
|
|
текст, для более |
|
|
SWT.WRAP |
полного заполнения |
|
|
|
занимаемого |
|
|
|
пространства |
|
|
|
|
|
Label одновременно может находиться только в одном из трех режимов работы:
-
-
-
вывод текста; вывод изображения; вывод разделителя.
2.3.2 Текст
Для задания текста выводимого классом Label используется метод:
public void setText (String text)
Текст может содержать разделители и мнемоники. Символ & указывает, что следующий за ним символ будет рассматриваться как мнемоника. Когда пользователь набирает на клавиатуре комбинацию символов мнемоники, то родительский объект получает фокус. Для большинства платформ символы мнемоник выделяются подчеркиванием, но могут выделяться и другим способом, который зависит от платформы. Если необходимо вывести в тексте символ &, то его надо набрать два раза подряд.
34
Метод public String getText() возвращает текст или пустую строку, если текст не задавался, или использовалась маска SWT.SEPARATOR для объекта Label.
2.3.3 Изображение
Для задания изображения предназначен метод public void setImage(Image image).
Если image равно null, то изображение выводиться не будет.
Метод public Image getImage() возвращает изображение или null (если изображение не установлено) объекта Label.
2.3.4 Разделители
Если установлен флаг разделителя SWT.SEPARATOR, то будет изображен разделитель. Тип разделителя определяется значением маски SWT.HORIZONTAL для горизонтального разделителя и SWT.VERTICAL для вертикального разделителя. Выпуклость устанавливается одним из атрибутов SHADOW_IN, SHADOW_OUT и SHADOW_NONE. Разделители часто используются для формирования разделительных линий между компонентами.
Замечание. Визуальный вид разделителя зависит от настроек операционной системы.
2.3.5 Выравнивание
Если не установлен флаг разделителя SWT.SEPARATOR, то можно задать метод выравнивания текста или изображения объекта Label. Для этого служит метод public void setAlignment(int alignment), где аргумент alignment может принимать значения SWT.LEFT, SWT.RIGHT или SWT.CENTER для выравнивания по левому, правому краю или по центру соответственно.
Метод public int getAlignment() возвращает способ выравнивания (константы SWT.LEFT, SWT.RIGHT или SWT.CENTER) текста или изображения объекта Label. Если установлен флаг разделителя SWT.SEPARATOR, то возвращается значение SWT.NONE.
Замечание. Для разделителей (установлен флаг SWT.SEPARATOR) выравнивание игнорируется.
35