我遇到了 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>
也许还有其他任何摆动组件可以帮助做这么简单的文字装饰吗?
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
之后,它根本不会包装。