Вся мощь FormText
раскрывается при использовании тегов форматирования. Первым тегом должен быть form
.
Он может иметь один или несколько тегов <p>
и/или <li>
.
В этих тегах, в свою очередь, могут находиться теги <b>
,
<span>
, изображения, ссылки и управляющие элементы SWT
. Изображения задаются с помощью тега <img href="ключ изображения"/>
, ссылки - <a href="адрес">замещающий текст</a>
.
Некоторые из описанных тегов имеют дополнительные атрибуты. Тег <a>
принимает nowrap="true"
для блокировки переноса ссылки. Тег <p>
может иметь атрибут vspace="false"
(true
- по умолчанию), увеличивающий интервал между абзацами. Тег <li>
имеет несколько атрибутов
style может принимать значения text
, bullet
и image
(bullet
- по умолчанию)
value - не используется для bullet
; для text
текст, указанный в этом атрибуте, будет использовано в качестве маркера; для image
атрибут должен содержать ключ изображения в таблице
vspace - как и для тега 'p
'.
indent - величина отступа текста в пикселах
bindent - отступ маркера (не зависит от 'indent' - возможно перекрытие)
На внешний вид текста влияют теги <b>
(выделение полужирным), и <span>
. Последний позволяет изменять шрифт и/или цвет текста. Также можно вставлять принудительные переносы с помощью тега <br/>
(обратите внимание на XML-стиль, с наклонной чертой).
Начиная с версии 3.1, FormText
позволяет вставлять виджеты SWT в текст, ссылки и изображения. Управляющие элементы SWT создаются в виде потомков FormText
, так что FormText
является администратором макета.
FormText
не отвечает за загрузку изображений, шрифтов, ссылок и цветов. Поэтому желательно использовать изображения и цвета, управляемые другими объектами. Для этого ссылки и изображения имеют атрибут 'href
'. Для ссылок значение этого атрибута будет передано в событии гиперссылки. Изображения должны быть зарегистрированы в таблице изображений. Так, управляющий элемент не должен заботиться о загрузке изображений, а только получать их из хэш-таблицы.
Аналогичный подход используется и для цветов и шрифтов. Цвета сразу обрабатываются инструментарием, и вам нужно только вызвать метод toolkit.getColors().createColor()
, передав ему уникальный ключ и RGB-комбинацию.
Остается только установить все цвета, указываемые в тегах 'span
'.