Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2013_1 / ООП / Введение_SWG.pdf
Скачиваний:
82
Добавлен:
23.02.2015
Размер:
3.32 Mб
Скачать

инициировать. Например, для события 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

Соседние файлы в папке ООП