JList
のディスプレイとして使用しているこれがありますSystem.out
。JList
の一番下にある IRC クライアントを作成していJFrame
ます。2 つ以上の要素が同時に に追加されると、 1 つの要素が単独で追加されるまでJLists
ListModel
全体が白くなり、インタラクティブではなくなるようです。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);
}
}
}
ここで何が起こっているのか、どうすれば修正できるのか誰か知っていますか?