Lifescrolling

Status
Nicht offen für weitere Antworten.

hans.karl

Mitglied
Ich habe ein Fenster mit einem JScrollPane und darin ist ein JLabel inkludiert. Dieses Fenster soll als Logausgabe dienen, dass heißt im JLabel kommt dann mit der Zeit einieges an Inhalt zusammen (zumale jede Logmeldung mit einem "<br" in das JLabel angefügt wird). Nun wollte ich fragen, da ja die neuesten Logmeldungen immer unten angefügt werden, ob man hier mit irgendeiner Funktion das Scrollen so steueren kann, dass man nach dem Einfügen einer Logmeldung das JScrollPane dazu veranlassen kann, ganz nach unten zu scrollen, damit der User nicht jedesmal selbst scrollen muss.

Ich danke schon im Voraus für Eure Hilfe.
 

André Uhres

Top Contributor
hans.karl hat gesagt.:
..das JScrollPane dazu veranlassen .., ganz nach unten zu scrollen..
Code:
       SwingUtilities.invokeLater(new Runnable(){
            public void run() {
                jScrollPane1.getVerticalScrollBar().setValue(Integer.MAX_VALUE);
            }
        });
 

hans.karl

Mitglied
Danke für die Infos. Ich habe aber keinen Thread erstellt, sondern in der Methode add_row(...) (wo ich eine Zeile von einer anderen Klasse einfüge) einfach die Zeile pane.getVerticalScrollBar().setValue(Integer.MAX_VALUE); eingefügt.

Übrigens:
Das Beispiel von André Uhres muss eigentlich so aussehen (sonst wird der Thread nur einmal durchlaufen und dann beendet!):

Code:
SwingUtilities.invokeLater(new Runnable(){
            public void run() {
                while(true) jScrollPane1.getVerticalScrollBar().setValue(Integer.MAX_VALUE);
            }
        });

Naja, vielleicht sollte man noch ein Thread.sleep() einfügen, um nicht zu viele Ressourcen zu verschwenden.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben