Hallo zusammen,
das hier ist meine Thread Methode run:
mit dieser Zeile hänge ich neue Zeilen an meine Textbox an. Das ist aber ne schlecht Variante, da sie sehr langsam ist.
(Die länge des textes kann gut und gerne mehrere Tausend Zeilen sein, die möglicht schnell eingelesen und angezeigt werden sollen)
Also ging ich hin und habe es mit folgender Methode gemacht.
Der große nachteil ist, das diese mir die Textboxen nicht antomatsich neu anzeigt. D.h. der Thread läuft weiter und er abreitet auch weiter (überprüft duch System.out), aber die Anzeige kommt nicht mit.
Gibt es eine Möglichkeit die schnelligkeit vom append() zu erreichen(annährnd) und trotzdem wie bei setText() die Anzeige stehts aktualisieren lassen?
Gruß,
Esco
das hier ist meine Thread Methode run:
Code:
public void run() {
Vector<String> v;
for(;;) {
try {
v = lsc.getLw().get(nummer).getLatest();
for(int i = 0;i<v.size();i++){
lsc.getLogConsole().get(nummer).setText(lsc.getLogConsole().get(nummer).getText()+"\n"+v.get(i));
//lsc.getLogConsole().get(nummer).append("\n"+v.get(i));
}
lsc.getLogConsole().get(nummer).setCaretPosition(lsc.getLogConsole().get(nummer).getDocument().getLength());
sleep(100);
} catch(InterruptedException e) {
} catch (IOException e) {
e.printStackTrace();
}
}
}
Code:
lsc.getLogConsole().get(nummer).setText(lsc.getLogConsole().get(nummer).getText()+"\n"+v.get(i));
(Die länge des textes kann gut und gerne mehrere Tausend Zeilen sein, die möglicht schnell eingelesen und angezeigt werden sollen)
Also ging ich hin und habe es mit folgender Methode gemacht.
Code:
lsc.getLogConsole().get(nummer).append("\n"+v.get(i));
Gibt es eine Möglichkeit die schnelligkeit vom append() zu erreichen(annährnd) und trotzdem wie bei setText() die Anzeige stehts aktualisieren lassen?
Gruß,
Esco