schaute ich auf Scroll JScrollPane to bottom und fand die Antwort =>Auto scroll nach unten von einem Bildlauffenster
JScrollBar vertical = scrollPane.getVerticalScrollBar();
vertical.setValue(vertical.getMaximum());
sehr gut zu funktionieren.
Es geht jedoch nicht ganz nach unten, wenn viel ausgegeben wird.
Ich habe jetzt eine Verzögerung hinzugefügt (nicht aus der EWT) und dann ein weiteres Update in der EWT, die den Trick macht.
Thread thread = Thread.currentThread();
try {
thread.sleep(99);
} catch (InterruptedException ex) {
}
SwingUtilities.invokeLater(new Runnable() {
public void run() { log(""); }
});
Geht das immer noch auf dem EDT, wenn ich in einem SwingWorker Thread bin? – bob
Der Sinn der Verwendung von SwingWorker besteht darin, dass es Ihnen und der API ermöglicht, etwas Code in einem separaten Thread auszuführen, aber dann anderen Code auf dem EDT-Thread auszuführen. Wenn Sie ein Ergebnis veröffentlichen, das automatisch auf dem EDT ausgeführt wird. Wenn Sie die done() -Methode implementieren, die auch im EDT ausgeführt wird. Lesen Sie das Lernprogramm erneut, um weitere Informationen zum SwingWorker einschließlich der Arbeitsbeispiele zu erhalten. – camickr