Ich verwende JScrollPane, um das Scrollen in einem JFrame mit einer Textkomponente zu ermöglichen, die als Texteditor dient. Nachdem ich den Text in diesem Editor festgelegt habe, möchte ich ihn wieder nach oben scrollen lassen, damit Sie sehen können, was sich am Anfang der Datei befindet.
Weiß jemand, wie man das macht?
Nur für den Fall, dass Sie keine Textkomponente verwenden, werfen Sie einen Blick auf den hier veröffentlichten Thread .... Festlegen der Bildlaufleiste in einem JScrollPane
Ihre Lösung besteht darin, einen Thread über invokeLater abzuspinnen
final JScrollPane scroll = new JScrollPane(text); javax.swing.SwingUtilities.invokeLater(new Runnable() { public void run() { scroll.getVerticalScrollBar().setValue(0); } });
quelle
invokeLater
spinnt keinen Thread ab, sondern stellt nur ein Ereignis in die Warteschlange, das nach dem aktuellen Ereignis ausgeführt werden soll (z. B. Klicken auf eine Schaltfläche oder was auch immer der Kontext desinvokeLater
aufrufenden Codes ist ), und alle anderen bereits in die Warteschlange gestellten Ereignisse werden beendet.Dies wird die Arbeit machen:
quelle
Sie können die Methode
setCaretPosition(0)
direkt nachsetText(String t)
Ihrer Textkomponente verwenden.quelle
Verwenden Sie JComponent.scrollRectToVisible ()
Wenn Sie weitere Informationen benötigen, finden Sie hier einen Artikel
quelle
Sie können dies versuchen:
scrollPane.getViewport().setViewPosition(new Point(0,0));
Laut JavaDocs verhält sich setViewPosition () folgendermaßen:
quelle
Hier ist wie:
textArea.setSelectionStart(0); textArea.setSelectionEnd(0);
quelle