Intereting Posts
JavaScript для Bootstrap требует jQuery. Пока jQuery уже загружен Почему изменение позиционирования элемента table-row от «static» до «absolute» до «static» приводит к постоянному изменению высоты? Расширение Chrome, Вставить HTML, затем продолжить загрузку страницы Установка transform-origin в группе SVG, не работающей в FireFox javascript email linebreaks Как установить атрибуты данных в элементах HTML Представление формы – использование функции внутри classа PHP для обработки формы Добавить элемент в DOM с JavaScript Почему моя таблица HTML не соответствует ширине столбца CSS? Проблема с перерисованием Chrome Всплывающее / диалоговое окно JQuery-mobile? Можно ли выбрать несколько элементов на панели инструментов инструментов разработчика Chrome? Логотип и заголовок H1 на одной строке MVC – привязка динамически добавленных элементов управления к списку в модели Скребок Facebook не загружает динамические метаtags

Стилизация текста в JTextArea или JTextPane

В принципе, у меня есть JTextPane для хранения текста, который я хочу создать. JTextArea было бы лучше для меня использовать, но мне сказали, что вы не можете стилизовать текст в них?

Тем не менее, JTextPane не выглядит правильно. Например, следующий код только что возвращается с включенным HTML:

public static void main(String[] args) { JFrame j = new JFrame("Hello!"); j.setSize(200,200); JTextPane k = new JTextPane(); k.setText("Hey!"); j.add(k); j.setVisible(true); } 

Я хочу, чтобы иметь возможность просто нарисовать текст в JTextPane, когда пользователь взаимодействует с интерфейсом, но до сих пор он просто возвращает строку с HTML-кодом! Помогите!

Если вы хотите просмотреть содержимое Html в JTextPane, тогда вы должны установить для JTextPane # setContentType (“text / html”); , пример здесь

РЕДАКТИРОВАТЬ:

для JEditorPanes / JTextPanes существует другой способ, реализующий StyledDocument , MutableAttributeSet и настраиваемый Highlighte r, например здесь

am way не использует Html syntax

Пусть Java знает, что это будет HTML с использованием метода setContentType .

 k.setContentType("text/html"); 

Я использую Look and Feel (Substance), а вызов setContentType("text/html") имеет проблемы с отображаемым шрифтом. Я решил это, позвонив:

 textPane.putClientProperty(JTextPane.HONOR_DISPLAY_PROPERTIES, Boolean.TRUE); 

Другим вариантом является обтекание HTML-текста в JLabel . Следуя вашему примеру, код:

 JTextPane k = new JTextPane(); k.insertComponent(new JLabel("Hey!"));