private void appendToPane(String msg, JTextPane p, Color c) {
Style style = p.addStyle("I am a style", null);
StyleConstants.setForeground(style, c);
StyledDocument doc = p.getStyledDocument();
try {
doc.insertString(doc.getLength(), msg, style);
} catch (Exception e) {
System.err.println(e);
}
}
它是工作的,唯一的问题是文本得到混乱时滚动或追加新的文本。我的意思是:
-一行的上半部分或下半部分消失(留下一半不可读的字母)
-文本部分改变颜色(某些部分红色变为暗红色)
-两行相互改变颜色。(绿色部分得到红色行,红色部分得到绿色行)
-字母看起来脏兮兮的(字母没有清晰的线条)
所有这些问题在调整窗口大小时消失,但在滚动或追加新文本时再次出现。
例如,一些新追加的行采用旧追加行的颜色,反之亦然
是,插入的文本将继承上一个文本的属性,除非您为插入的文本指定了属性。
在文本窗格末尾追加文本的基本代码如下所示:
// Define a keyword attribute
SimpleAttributeSet keyWord = new SimpleAttributeSet();
StyleConstants.setForeground(keyWord, Color.RED);
StyleConstants.setBackground(keyWord, Color.YELLOW);
StyleConstants.setBold(keyWord, true);
// Adding a new line of text
try
{
StyledDocument doc = textPane.getStyledDocument();
doc.insertString(doc.getLength(), "\nEnd of text", keyWord );
}
问题内容: 我可以解析JTextPane的内容,而不会遇到HTML中的任何问题: 这导致 你好! 但是每当我尝试将字符串附加到textPane时,使用 (如该问题所示),我的输出是 你好! (不带空格)-跳过html格式。 如何在我的JTextPane对象上附加一个字符串,并保持添加部分的HTML格式? 问题答案: 使用例如 要么 如果要插入段落/表格或其他分支元素,则使用该方法
问题内容: 在每篇文章中,“如何向JEditorPane附加字符串?”问题的答案。就像 我已经试过了: 结果,我得到了“终止时间:1000”,而没有“进程的分布:” 为什么会发生这种情况??? 问题答案: 我怀疑这是附加文本的推荐方法。这意味着每次更改某些文本时,都需要重新解析整个文档。人们之所以这样做,是因为他们不了解如何使用JEditorPane。包括我在内。 我更喜欢使用JTextPane然
问题内容: 我是iOS新手。我目前正在使用Objective-C和Swift学习iOS。 要在Objective-C中附加字符串,我使用以下代码: 有人请指导我。 问题答案: 非常简单: 对于ObjC: ForSwift: 对于ObjC AppendString: 对于Swift AppendString: 结果: 在Swift中完成代码:
场景:文本文件快照ID。txt位于S3存储桶中。我正在尝试创建一个每天运行的Lambda函数(Cron),该函数将使用AWS CLI拍摄卷的快照,然后将该快照ID保存到S3中的文本文件中。下次创建另一个快照时,新的快照ID将保存到S3中的同一个文本文件中。文本文件是快照ID的占位符,当它达到阈值时,它将删除顶部快照ID,并在末尾添加新快照ID(FIFO管道)。 对于不使用AWS lambda的人,
我正在创建一个聊天应用程序。在这个聊天应用程序中,我必须使用Java Swing的来给一些特定的字符串赋予样式,比如用户的显示名称和消息的时间。这就是我选择而不是的原因。在JTextPane中,我不能追加字符串,所以我创建一个字符串缓冲区来追加字符串,然后执行。 我的问题是:当我通过将字符串追加到中时,会出现延迟。如何在中逐行追加字符串?
我认为每次更改字符串后,Python字符串的id都必须更改。但我发现真正的行为是不同的。例如,并非输出下面的所有代码字符串都不同: 这就是为什么我认为Python内核正在尝试优化代码,并开始对内存中的字符串进行奇怪的操作。该假设的另一个论点是,常量ID与大小为2的幂的段相关联: 但这其中还有一件奇怪的事。让我们看看随着字符串大小的增加,段大小会发生什么变化: 最后,我们可以尝试近似地将char添加