Если вы начнете текст метки с <html dir="ltr">
, это будет не метка HTML, а метка простого текста. Причина в том, что java.swing.plaf.basic.BasicHTML#isHtmlString(String)
очень прост, его реализация
public static boolean isHTMLString(String s) {
if (s != null) {
if ((s.length() >= 6) && (s.charAt(0) == '<') && (s.charAt(5) == '>')) {
String tag = s.substring(1,5);
return tag.equalsIgnoreCase(propertyKey);
}
}
return false;
}
так что вы можете использовать только <html>
или <HTML>
, или, что интересно, <abcd>
или другие четырехбуквенные слова :-)
Так что в вашем случае вам придется использовать <html><span dir="ltr">Your text</span></html>
. Однако подсистема Swing HTML не учитывает атрибут dir
. Вы должны позвонить
label.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT)
для изменения ориентации компонента для метки.