Неплохая ли практика использования стилей HTML в Java Swing Elements?

Считается неправильной практикой стиль элементов Swing с использованием HTML?

В качестве примера, если я хочу сделать ярлык больше и красным только один раз, у меня есть два варианта:

Либо использование вызовов API:

JLabel label = new JLabel("This is a title");  
label.setFont(label.getFont().deriveFont(18));  
label.setForeground(Color.red);

Или с помощью HTML:

JLabel label = new JLabel("<html><font size='4' color='#ff0000'>This is a title");

Кроме того, способ HTML позволяет мне подчеркнуть одно слово, а не целую метку, и другие подобные применения.

Каковы недостатки использования HTML? Это дороже? И форматирование не гарантируется на всех JRE?

Ответы

Ответ 1

  • Нет, неплохо или хорошая практика использовать синтаксис HTML в Swing JComponents

  • Сегодня Java поддерживает HTML 3.2 и уменьшена поддержка некоторых атрибутов CSS

  • Поддержка JTextPane и JEditorPane для добавления и позиционирования JComponents с использованием синтаксиса HTML

Ответ 2

Использование <font> плохое даже в html. И использование объектов для настройки цвета шрифта, размера и т.д. - это большая работа в больших приложениях.

К счастью, javaFX 2 отсутствует. С его помощью вы можете использовать CSS для решения таких вещей: http://www.oracle.com/technetwork/java/javafx/documentation/index.html