Irgendwie komme ich immer wieder auf Programme zurück, die (sehr schnell sehr viele) Statusmeldungen in eine Konsole ausgeben. Während das mit JTextArea per "append" einigermaßen performant geht und mit JTextPane farbig, fehlt mir irgendwie nach wie vor eine Möglichkeit, beides (schnell und farbig) zu verbinden. Seitdem ich mich das letzte Mal damit beschäftigt habe, sind ein paar Jahre ins Land gegangen und irgendwie war ich der Meinung, das Problem sollte sich inzwischen irgendwie gelöst haben, aber leider ist dem nicht so. JTextPane ist auch im Jahr 2009 mit Java6 noch ein absolutes Trauerspiel in Sachen Performance.
Egal, was ich mache: sobald ich sehr viele (ein paar tausend) Teilen Text in relativ kurzer Zeit in eine JTextPane einfüge, bricht entweder die JTextPane oder gar die gesamte AWT/Swing-Queue zusammen. Auch dann, wenn ich "invokeLater" bemühe. Bestensfalls kommt AWT/Swing nach ein paar Minuten wieder auf die Beine, aber für einen Vorgang, der nur ein paar Sekunden dauert, minutenlanges Warten in Kauf zu nehmen, ist irgendwie inakzeptabel.
Nach wie vor beschleicht mich der Verdacht, daß das DefaultStyledDocument mit Wasserstoffbomben auf Spatzen geschmissen ist und zudem miserabel lahmarschig implementiert wurde. So oder so ist das Datenmodell mit Sicherheit viel zu komplex, um ein bißchen farbigen Text auszugeben und alleine das (notwendige) Positionieren des Cursors an das Ende des Dokuments scheint extrem viel Zeit zu kosten.
Ich kann irgendwie nicht glauben, daß - wenn schon Sun diesen klassischen Anwendungsfall komplett ignoriert - es in den Weiten des Netzes keine kleine, schlanke, leicht integrierbare Swing-Konsolenklasse gibt, die genau das Gewünschte macht. Leider finde ich nichts.
Ideen?
Egal, was ich mache: sobald ich sehr viele (ein paar tausend) Teilen Text in relativ kurzer Zeit in eine JTextPane einfüge, bricht entweder die JTextPane oder gar die gesamte AWT/Swing-Queue zusammen. Auch dann, wenn ich "invokeLater" bemühe. Bestensfalls kommt AWT/Swing nach ein paar Minuten wieder auf die Beine, aber für einen Vorgang, der nur ein paar Sekunden dauert, minutenlanges Warten in Kauf zu nehmen, ist irgendwie inakzeptabel.
Nach wie vor beschleicht mich der Verdacht, daß das DefaultStyledDocument mit Wasserstoffbomben auf Spatzen geschmissen ist und zudem miserabel lahmarschig implementiert wurde. So oder so ist das Datenmodell mit Sicherheit viel zu komplex, um ein bißchen farbigen Text auszugeben und alleine das (notwendige) Positionieren des Cursors an das Ende des Dokuments scheint extrem viel Zeit zu kosten.
Ich kann irgendwie nicht glauben, daß - wenn schon Sun diesen klassischen Anwendungsfall komplett ignoriert - es in den Weiten des Netzes keine kleine, schlanke, leicht integrierbare Swing-Konsolenklasse gibt, die genau das Gewünschte macht. Leider finde ich nichts.
Ideen?