当前位置: 首页 > 面试题库 >

JTextPane追加新字符串

陆文康
2023-03-14
问题内容

在每篇文章中,“如何向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); }


 类似资料:
  • 我正在创建一个聊天应用程序。在这个聊天应用程序中,我必须使用Java Swing的来给一些特定的字符串赋予样式,比如用户的显示名称和消息的时间。这就是我选择而不是的原因。在JTextPane中,我不能追加字符串,所以我创建一个字符串缓冲区来追加字符串,然后执行。 我的问题是:当我通过将字符串追加到中时,会出现延迟。如何在中逐行追加字符串?

  • 问题内容: 我可以解析JTextPane的内容,而不会遇到HTML中的任何问题: 这导致 你好! 但是每当我尝试将字符串附加到textPane时,使用 (如该问题所示),我的输出是 你好! (不带空格)-跳过html格式。 如何在我的JTextPane对象上附加一个字符串,并保持添加部分的HTML格式? 问题答案: 使用例如 要么 如果要插入段落/表格或其他分支元素,则使用该方法

  • 我能用下面两条语句具体解释一下内存和运行时开销吗? > String CONST=字符串常量;StringBuilder sb1=new StringBuilder(); sb1.append(CONST); StringBuilder sb2=新的StringBuilder() sb2。附加(“字符串常量”); second是否创建字符串对象和外接程序stringpool?是否有任何场景(也考虑

  • 问题内容: 在主要: 我得到以下输出: 但是,当我在应用程序中实现相同的操作时,将得到以下输出: 注意: 在我的加密字符串上追加了新行。 应用代码: 我如何删除多余的新行。为什么会这样,请帮助我 是什么原因? 问题答案: 我回答这个问题可能很晚,但是遇到了同样的问题。其实问题就在这里 更改该行以使其看起来像这样: 默认情况下,Android Base64 util在编码字符串的末尾添加换行符。Ba

  • append key value 返回新字符串值的长度。

  • 我试图将CSS/HTML表“追加”到JTextPane中。 当我这样做的时候:像这样setText: 我得到了想要的结果[完美!]: null 原始css字符串如下: table.imageTable{font-family:verdana,arial,sans-serif;font-size:11px;color:#333333;border-width:1px;border-color:#99