- •Обозначения и сокращения
- •Введение
- •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 Пример приложения с элементами анимации
- •Список использованных источников
public void widgetSelected( org.eclipse.swt.events.SelectionEvent e) {
fireListsChanged();
}
});
2.7 Класс Link
java.lang.Object
org.eclipse.swt.widgets.Widget
org.eclipse.swt.widgets.Control
org.eclipse.swt.widgets.Link
Класс Link предназначен для вывода текста включающего гиперссылки. Экземпляр класса Link в отличие от компонента Label получает фокус ввода при перемещении курсора, например клавишей Tab или при кликании по нему мышкой. Создав, обработчик событий можно организовать обработку выбранного указателя, например, переход на WEB страницу.
Для создания экземпляра класса Link используется следующий конструктор:
public Link (Composite parent, int style)
где parent – обязательный родительский компонент (контейнер), а style это один или несколько стилей определяющий параметры создания класса Link.
2.7.1 Стили
Стили формируют битовую маску по принципу логического «ИЛИ». Для объединения стилей используется символ "|". Базовый класс org.eclipse.swt.widgets.Control предоставляет возможность прорисовки рамки вокруг компонента при указании стиля SWT.BORDER, а так же изменение направления вывода LEFT_TO_RIGHT, RIGHT_TO_LEFT для письма слева направо и справа налево.
2.7.2. Текст
Для задания текста выводимого классом Link используется метод public void setText (String text).
Текст может содержать, как непосредственно текст, так и гиперссылки. Гиперссылки помещаются в теги привязки <a> и </a>. Внутри тегов привязки доступен атрибут href. При выборе гиперссылки в обработчик события передается текст гиперссылки или значение href, если оно указано. Текст может содержать мнемоники и разделители.
56
Пример. Задание текста компонента Link
siteLink = new Link(shell, SWT.NONE); siteLink.setText(
"Код примеров использования SWT компонент\n"
+"можно найти на сайте: "
+"<a href=\"http://forjava.dev.juga.ru\">"
+"http://forjava.dev.juga.ru</a>");
Метод public String getText() возвращает текст или пустую строку, если текст не задавался, или использовалась маска SWT.SEPARATOR.
2.7.3. Обработчики событий
Обработчики предназначены для фиксации и обработки событий компонента Link.
Метод addSelectionListener(SelectionListener listener) –
добавляет обработчик в коллекцию, который активизируется при выборе ссылки, где listener — одна из возможных реализаций интерфейса обработчика событий:
widgetSelected – вызывается при изменении выбора (например, выбор ссылки при помощи клавиатуры или мыши).
widgetDefaultSelected – вызывается при выполнении платформозависимой операции по умолчанию. На большинстве платформ это нажатие кнопки <Enter> или двойной клик мыши.
Пример. Слушатель, который обрабатывает выбор ссылки компонента Link (рисунок 2.6)
siteLink.addSelectionListener(
new org.eclipse.swt.events.SelectionAdapter() { public void widgetSelected(
org.eclipse.swt.events.SelectionEvent e) { browser.setUrl(e.text);
}
});
Метод removeSelectionListener(SelectionListener listener) –
удаляет ранее созданный обработчик listener из коллекции.
Рисунок 2.6 – Использование класса Link для ссылки на WEB ресурсы
57