Как отображать полужирный текст только в частях JTextArea?

Могу ли я изменить текст JTextArea на жирный (добавить текст), а затем вернуться к обычному, и будет ли он отображать только жирный текст жирным шрифтом, а остальные как обычно?

Также можно ли сохранить содержимое JTextArea в виде документа RTF?


person iTEgg    schedule 26.04.2010    source источник
comment
Я бы использовал JTextPane. С ним легче работать, чем пытаться форматировать и манипулировать HTML. Щелкните ссылку на учебник Swing, чтобы увидеть рабочий пример.   -  person camickr    schedule 26.04.2010
comment
Благодарю. пожалуйста, добавьте ссылку. :)   -  person iTEgg    schedule 26.04.2010


Ответы (3)


Нет. Вам нужна JEditorPane

Это поддерживает HTML (3.2?), что позволит вам использовать <font> (и другие старые теги) для предоставления форматированного текста.

JEditorPane textarea = new JEditorPane("text/html", "");
textarea.setText("Here is some <b>bold text</b>");

EDIT: согласно javadoc, на который я ссылался выше, JEditorPane также поддерживает ограниченный RTF. Не забудьте изменить MIME на text/rtf

person Matt    schedule 26.04.2010
comment
как бы вы добавили текст в JEditorPane? установить текст? получитьтекст? - person iTEgg; 26.04.2010
comment
@ikurtz Ага, setText(getText() + "..."); - person Matt; 26.04.2010
comment
извините, но это не работает. поскольку вводится несколько тегов ‹html›‹/html›, отображается только первое появление, а остальные данные игнорируются. - person iTEgg; 27.04.2010

Я считаю, что для этого вам понадобится JTextPane или JEditorPane. .

person JRL    schedule 26.04.2010

person    schedule
comment
Добро пожаловать в Stack Overflow! Хотя этот код может решить проблему, лучше добавить уточнение и объяснить, как это работает для людей, которые могут не понять этот фрагмент кода. - person paper1111; 26.09.2018