#java #swing #word-wrap
#java #swing #перенос слов
Вопрос:
У меня проблема с JTextPane. Мне нужно пометить некоторые части текста указанным цветом, поэтому я решил использовать теги JTextPane и html для оформления моего текста. JTextPane находится внутри JScrollPane, а JScrollPane — внутри JSplitPane:
JTextPane jtp=new JTextPane();
jtp.setContentType("text/html");
JScrollPane scr=new JScrollPane(jtp);
JSplitPane leftRight=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, scr, someOtherComponent);
Кроме того, после установки текста в jtp я заметил, что он переносит некорректно.
Итак, не могли бы вы посоветовать мне, как решить мою проблему, или, может быть, предложить лучшее решение?
Я оформил текст с помощью html:
<FONT style="BACKGROUND-COLOR: yellow">next marked</FONT><b> embolden</b> normal<FONT style="BACKGROUND-COLOR: yellow"> next marked</FONT>
может быть, есть какие-либо другие компоненты swing, которые помогают выполнять такое простое оформление текста?
P.P.S. Вот часть моего кода:
originalTextArea=new JTextPane();
originalTextArea.setFont(font);
originalTextArea.setContentType("text/html");
originalTextArea.setText("dhjfsfdjnkjfgfjkgkjfngfdkjnjfdgjfdngfdkjgnkdngjgnjkgfgf");
processedTextArea=new JTextPane();
processedTextArea.setFont(font);
processedTextArea.setContentType("text/html");
JScrollPane originalTextScrollPane=new JScrollPane(originalTextArea);
JScrollPane processedTextScrollPane=new JScrollPane(processedTextArea);
JTabbedPane processedTextAndVocPane=new JTabbedPane(JTabbedPane.TOP, JTabbedPane.SCROLL_TAB_LAYOUT);
summarizedTextAndVocPane.add("Processed text",processedTextScrollPane);
JSplitPane leftRightSplitPane=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, originalTextScrollPane, processedTextAndVocPane);
leftRightSplitPane.setDividerLocation(0.5);
leftRightSplitPane.setResizeWeight(0.5);
mainFrame.add(leftRightSplitPane);
После ввода текста в originalTextArea
он вообще не переносится.
Комментарии:
1. Что вы подразумеваете под «неправильным переносом»?
2. Я провел быстрый тест с вашим кодом, и он переносится нормально. Вы показали нам весь соответствующий код?
3. Для более быстрой справки отправьте SSCCE .
4. текст переносится только через пробелы. вы показываете большую длинную строку без разрывов — это не переносит (?)
5. Спасибо 🙂 Понятно. Но есть ли возможность переносить символы без пробелов?