JTextPane追加新字符串

在每篇文章中,“如何向JEditorPane附加字符串?”问题的答案。就像

jep.setText(jep.getText + "new string");

我已经试过了:

jep.setText("<b>Termination time : </b>" + 

CriterionFunction.estimateIndividual_top(individual) + " </br>");

jep.setText(jep.getText() + "Processes' distribution: </br>");

结果,我得到了“终止时间:1000”,而没有“进程的分布:”

为什么会发生这种情况???

回答:

我怀疑这是附加文本的推荐方法。这意味着每次更改某些文本时,都需要重新解析整个文档。人们之所以这样做,是因为他们不了解如何使用JEditorPane。包括我在内。

我更喜欢使用JTextPane然后使用属性。一个简单的例子可能是这样的:

JTextPane textPane = new JTextPane();

textPane.setText( "original text" );

StyledDocument doc = textPane.getStyledDocument();

// Define a keyword attribute

SimpleAttributeSet keyWord = new SimpleAttributeSet();

StyleConstants.setForeground(keyWord, Color.RED);

StyleConstants.setBackground(keyWord, Color.YELLOW);

StyleConstants.setBold(keyWord, true);

// Add some text

try

{

doc.insertString(0, "Start of text\n", null );

doc.insertString(doc.getLength(), "\nEnd of text", keyWord );

}

catch(Exception e) { System.out.println(e); }

以上是 JTextPane追加新字符串 的全部内容, 来源链接: utcz.com/qa/398737.html

回到顶部