Java JEditorPane css

У меня проблемы с использованием JEditorPane. Я хочу сделать выравнивание по левому краю и выравнивание по правому краю текста в одной строке.

Вот мой код:

INFO_AREA = new JEditorPane();
    INFO_AREA.setBorder(BorderFactory.createCompoundBorder(BORDER, 
                BorderFactory.createEmptyBorder(10, 10, 10, 10)));
    HTMLEditorKit kit = new HTMLEditorKit();
    INFO_AREA.setEditorKit(kit);
    StyleSheet styleSheet = kit.getStyleSheet();
    styleSheet.addRule(".alignleft{color : rgb(0,128,25); font-weight: bold; float: left;}");
    styleSheet.addRule(".alignright{color : rgb(0,128,25); font-weight: bold; float: right;}");
    INFO_AREA.setText("<html>" +
            "<center><b><font size=6>Important Information</font></b></center>" 
            "<div id=textbox><p class='alignleft'>left</p><p class='alignright'>right</p></div>" +
            "</html>");
    INFO_AREA.setLocation(305, 10);
    INFO_AREA.setSize(275, 200);
    INFO_AREA.setEditable(false);
    PANE.add(INFO_AREA);

Это не работает, похоже, что JEditorPane не поддерживает float.

Так что, может быть, у кого-нибудь есть идеи, как я могу добиться выравнивания текста по левому краю и выравнивания по правому краю в одной строке?


person user2821023    schedule 03.11.2013    source источник
comment
Вам не хватает > после <div id=textbox.   -  person VGR    schedule 04.11.2013
comment
Отредактировано, но все равно не работает, я никогда не работал с html/css, так что может быть что-то не так в этой части.   -  person user2821023    schedule 04.11.2013


Ответы (1)


Средство визуализации HTML в Swing устарело. Он поддерживает HTML 3.2 и CSS 1.0 и даже не поддерживает все возможности этих спецификаций.

Глядя на документацию класса CSS мы видим, что он перечисляет все свойства CSS, которые он поддерживает. Существует список того, что поддерживается, за которым следует список, предваряемый словами «Следующие моделируются, но в настоящее время не визуализируются». В этом списке есть свойство float.

Таким образом, рендеринг Swing HTML в настоящее время не поддерживает свойство float. Вообще.

Существует давняя открытая ошибка, Java Bug ID 4296022, для Эта проблема.

person VGR    schedule 03.11.2013