我有这个JList
用作System.out
. 我正在创建一个 IRC 客户端,它JList
位于JFrame
. 似乎每当JLists
ListModel
同时添加 2 个或更多元素时,整体JList
变成白色且非交互的,直到单独添加一个元素。同时添加多个元素的一个示例是异常打印堆栈跟踪时。
这是OutputStream
我设置为System.out
...的课程
public class LogOutputStream extends OutputStream {
String sentence = "";
boolean writing = false;
private DefaultListModel subject;
public LogOutputStream(DefaultListModel logListModel) {
this.subject = logListModel;
}
public void write(final int b) {
try {
sentence = sentence + (char) b;
if (sentence.endsWith("\n") && !sentence.isEmpty() && !sentence.equals("\t") && !sentence.equals("\r\n") && !sentence.equals("\n")) {
if (writing == false) {
writing = true;
subject.addElement(sentence.replaceAll("\n", "").replaceAll("\r", "").trim());
}
sentence = "";
writing = false;
}
}
catch (Exception e) {
e.printStackTrace(Boot.stdErr);
}
}
}
有谁知道这里发生了什么,以及如何解决?