Я пытаюсь сделать простой текстовый процессор, который редактирует текст, чтобы сделать его жирным, курсивом, подчеркиванием, цветом фона и цветом переднего плана. Проблема в том, что я хочу установить содержимое/текст JTextPane со всеми его отредактированными атрибутами в один объект, чтобы сохранить его в другом классе в качестве поля данных, в котором есть другие поля данных, такие как дата создания и имя документа, данное пользователем.
как получить содержимое JTextPane с его стилизованным форматом
Ответы (1)
Я думаю, что лучше всего использовать html в качестве типа контента для текстовой панели и построителей строк.
Например,
TextPane tp = new JTextPane();
tp.setContentType("text/html");
StringBuilder sb = new StringBuilder();
sb.append("<span style=\"color:red\">" + Hello red + "</span>");
sb.append("<span style=\"color:blue\">" + Hello blue + "</span>");
...
tp.setText(sb); // will print text with the style
работает так же в другую сторону,
String txt = tp.getText();
System.print(txt); //wil show html code
Вы можете ссылаться на http://www.java2s.com/Tutorials/Java/Swing_How_to/JTextPane/Style_JTextPane_with_HTML_and_CSS.htm
person
Luis Vásquez
schedule
04.05.2019
я думаю, если я не ошибаюсь, пример, который вы мне дали, работает, если я ввожу текст в текстовую панель, но намерение состоит в том, чтобы пользователь вводил текст в текстовую панель через пользовательский интерфейс
- person Hęŋý Xǿxờ; 04.05.2019
или, может быть, если есть способ получить контент с его стилем в формате html, но преобразованный в строку, чтобы я мог использовать метод setText() позже, это было бы идеально
- person Hęŋý Xǿxờ; 04.05.2019
getText()
? docs.oracle.com/javase/ 8/docs/api/javax/swing/ - person JB Nizet   schedule 04.05.2019