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