Spec-Zone .ru
спецификации, руководства, описания, API
След: Создание GUI С JFC/Swing
Урок: Используя Компоненты Swing
Как Использовать HTML в Компонентах Swing
Домашняя страница > Создание GUI С JFC/Swing > Используя Компоненты Swing

Как Использовать HTML в Компонентах Swing

Много компонентов Swing выводят на экран текстовую строку как часть их GUI. По умолчанию текст компонента выводится на экран в единственном шрифте и цвете, всех на одной строке. Можно определить шрифт и цвет текста компонента, вызывая компонент setFont и setForeground методы, соответственно. Например, следующий код создает метку и затем устанавливает ее шрифт и цвет:

label = new JLabel("A label");
label.setFont(new Font("Serif", Font.PLAIN, 14));
label.setForeground(new Color(0xffffdd));

Если Вы хотите смешать шрифты или цвета в пределах текста, или если Вы хотите форматировать, такие как многократные строки, можно использовать HTML. Форматирование HTML может использоваться во всех кнопках Swing, пунктах меню, метках, подсказках, и снабжало вкладками области, так же как в компонентах, таких как деревья и таблицы, которые используют метки, чтобы представить текст.

Определить, что у текста компонента есть форматирование HTML, только помещенное <html> тег в начале текста, затем используйте любой допустимый HTML в остатке. Вот пример использования HTML в тексте кнопки:

button = new JButton("<html><b><u>T</u>wo</b><br>lines</html>");

Вот получающаяся кнопка. Снимок экрана кнопки, которая показывает HTML в Металлическом стили.

Пример: HtmlDemo

Приложение вызывают HtmlDemo позволяет Вам играть с форматированием HTML, устанавливая текст на метке. Можно найти весь код для этой программы в HtmlDemo.java. Вот изображение HtmlDemo пример.

Снимок экрана HtmlDemo в Металлическом стили.

Попробуйте Это: 
  1. Нажмите кнопку Launch, чтобы работать, HtmlDemo, используя Сеть Java™ Запускаются (загрузите JDK 6 или позже). Альтернативно, чтобы скомпилировать и выполнить пример самостоятельно, консультируйтесь, пример индексируют.Запускает Приложение HtmlDemo
  2. Отредактируйте форматирование HTML в текстовой области слева и нажмите кнопку "Change the label". Метка в праве показывает результат.
  3. Удалите <html> тег от текстовой области слева. Текст метки больше не анализируется как HTML.

Пример 2: ButtonHtmlDemo

Давайте смотреть на другой пример, который использует HTML. ButtonHtmlDemo добавляют шрифт, цвет, и другое текстовое форматирование к трем кнопкам. Можно найти весь код для этой программы в ButtonHtmlDemo.java. Вот изображение ButtonHtmlDemo пример.

Снимок экрана ButtonHtmlDemo в Металлическом стили.

Нажмите кнопку Launch, чтобы работать, ButtonHtmlDemo, используя Сеть Java™ Запускаются (загрузите JDK 6 или позже). Альтернативно, чтобы скомпилировать и выполнить пример самостоятельно, консультируйтесь, пример индексируют.

Запускает Приложение ButtonHtmlDemo

Левые и правые кнопки имеют многократные строки и стили текста и реализуются, используя HTML. Средняя кнопка, с другой стороны, использует только одну строку, шрифт, и цвет, таким образом, это не требует HTML. Вот код, который определяет текстовое форматирование для этих трех кнопок:

b1 = new JButton("<html><center><b><u>D</u>isable</b><br>"
                 + "<font color=#ffffdd>middle button</font>",
                 leftButtonIcon);
Font font = b1.getFont().deriveFont(Font.PLAIN);
b1.setFont(font);
...
b2 = new JButton("middle button", middleButtonIcon);
b2.setFont(font);
b2.setForeground(new Color(0xffffdd));
...
b3 = new JButton("<html><center><b><u>E</u>nable</b><br>"
                 + "<font color=#ffffdd>middle button</font>",
                 rightButtonIcon);
b3.setFont(font);

Отметьте, что мы должны использовать a <u> тегируйте, чтобы заставить мнемонические символы "D" и "E" быть подчеркнутыми в кнопках тот HTML использования. Отметьте также, что, когда кнопка отключается, ее текст HTML, к сожалению, остается черным, вместо того, чтобы стать серым. (Пошлите к ошибке #4783068 видеть, изменяется ли эта ситуация.)

Этот раздел, обсужденный, как использовать HTML в обычном, нетекстовых компонентах. Для получения информации о компонентах, основная цель которых форматирует текст, см. Используя текстовые Компоненты.

Если Вы программируете в JavaFX, см. Редактор HTML.


Проблемы с примерами? Попытайтесь Компилировать и Выполнить Примеры: FAQ.
Жалобы? Поздравление? Предложения? Дайте нам свою обратную связь.

Предыдущая страница: Как Использовать Деревья
Следующая страница: Как Использовать Модели