Простые SWT-компоненты. Класс Link
Класс Link предназначен для вывода текста, включающего гиперлинки. Экземпляр класса Link, в отличие от компонента Label, получает фокус ввода при перемещении курсора, например, клавишей Tab или при кликании по нему мышкой. Создав обработчик событий, можно организовать обработку выбранного линка — например, переход на web-страницу.
Для создания экземпляра класса Link используется следующий конструктор:
public Link (Composite parent, int style)
где parent — обязательный родительский компонент (контейнер), а style — один или несколько стилей, определяющих параметры создания класса Link.
Рис. 1. Компонент Link. Иерархия классов
Рис. 2. Компонент Link. Изображение в визуальном редакторе
Стили
Стили формируют битовую маску по принципу логического "ИЛИ". Для объединения стилей используется символ "|". Базовый класс
org.eclipse.swt.widgets.Control предоставляет возможность прорисовки рамки вокруг компонента при указании стиля SWT.BORDER, а также изменение направления вывода LEFT_TO_RIGHT, RIGHT_TO_LEFT для письма слева направо и справа налево.
Текст
Для задания текста, выводимого классом Link, используется метод
public void setText (String text)
Текст может содержать как непосредственно текст или как гиперлинки. Гиперлинки помещаются в теги привязки <a> и </a>. Внутри тегов привязки доступен атрибут href. При выборе гиперлинка в обработчик события передается текст гиперлинка или значение href, если он указан. Текст может содержать мнемоники и разделители.
Пример 1. Задание текста компонента Link
siteLink = new Link(shell, SWT.NONE);
siteLink.setText(
"Код примеров использования SWT-компонент\n"
+ "можно найти на сайте: "
+ "<a href=\" сайт
+ " сайт
Метод
public String getText()
возвращает текст или пустую строку, если текст не задавался или использовалась маска SWT.SEPARATOR.
Слушатели событий
Слушатели предназначены для фиксации и обработки событий компонента Link.
addSelectionListener(SelectionListener listener)
добавляет в коллекцию слушателей слушатель, который активизируется при выборе линка, где listerner — одна из возможных реализаций интерфейса обработчика событий:
. widgetSelected — вызывается при изменении выбора (например, при выборе линка при помощи клавиатуры или мыши);
. widgetDefaultSelected — вызывается при выполнении платформозависимой операции по умолчанию. На большинстве платформ это нажатие кнопки <Enter> или двойной клик мыши.
Пример 2. Слушатель, который обрабатывает выбор линков компонента Link
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 из коллекции слушателей.
Рис. 3. Использование класса Link для ссылки на web-ресурсы
Текст тестового примера работы с классом Link приведен в файле by.berdachuk.swt.simplewidgets.LinkTest.java .
Архив демонстрационного проекта можно скачать по адресу сайт
Сергей Бердачук, berdachuk@tut.by, http://forjava.dev.juga.ru
Для создания экземпляра класса Link используется следующий конструктор:
public Link (Composite parent, int style)
где parent — обязательный родительский компонент (контейнер), а style — один или несколько стилей, определяющих параметры создания класса Link.
Рис. 1. Компонент Link. Иерархия классов
Рис. 2. Компонент Link. Изображение в визуальном редакторе
Стили
Стили формируют битовую маску по принципу логического "ИЛИ". Для объединения стилей используется символ "|". Базовый класс
org.eclipse.swt.widgets.Control предоставляет возможность прорисовки рамки вокруг компонента при указании стиля SWT.BORDER, а также изменение направления вывода LEFT_TO_RIGHT, RIGHT_TO_LEFT для письма слева направо и справа налево.
Текст
Для задания текста, выводимого классом Link, используется метод
public void setText (String text)
Текст может содержать как непосредственно текст или как гиперлинки. Гиперлинки помещаются в теги привязки <a> и </a>. Внутри тегов привязки доступен атрибут href. При выборе гиперлинка в обработчик события передается текст гиперлинка или значение href, если он указан. Текст может содержать мнемоники и разделители.
Пример 1. Задание текста компонента Link
siteLink = new Link(shell, SWT.NONE);
siteLink.setText(
"Код примеров использования SWT-компонент\n"
+ "можно найти на сайте: "
+ "<a href=\" сайт
+ " сайт
Метод
public String getText()
возвращает текст или пустую строку, если текст не задавался или использовалась маска SWT.SEPARATOR.
Слушатели событий
Слушатели предназначены для фиксации и обработки событий компонента Link.
addSelectionListener(SelectionListener listener)
добавляет в коллекцию слушателей слушатель, который активизируется при выборе линка, где listerner — одна из возможных реализаций интерфейса обработчика событий:
. widgetSelected — вызывается при изменении выбора (например, при выборе линка при помощи клавиатуры или мыши);
. widgetDefaultSelected — вызывается при выполнении платформозависимой операции по умолчанию. На большинстве платформ это нажатие кнопки <Enter> или двойной клик мыши.
Пример 2. Слушатель, который обрабатывает выбор линков компонента Link
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 из коллекции слушателей.
Рис. 3. Использование класса Link для ссылки на web-ресурсы
Текст тестового примера работы с классом Link приведен в файле by.berdachuk.swt.simplewidgets.LinkTest.java .
Архив демонстрационного проекта можно скачать по адресу сайт
Сергей Бердачук, berdachuk@tut.by, http://forjava.dev.juga.ru
Компьютерная газета. Статья была опубликована в номере 46 за 2005 год в рубрике программирование :: разное