Ich habe ein JPanel in einem JScrollPane. Das JPanel enthält mehrere JTextAreas vertikal.Wie scrolle ich nach oben - JPanel mit mehreren JTextases in Jscrollpane
Ich mag es, den Bildlauf des Scrollpanels immer nach oben zu halten, wenn die Seite aktualisiert wird. Derzeit beginnt der Bildlauf immer von unten.
dies mein aktueller Code ist und es nicht funktioniert ..
panel.invalidate();
panel.revalidate();
panel.repaint();
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
((JPanel) panel).setLocation(new Point(0, 0));
}
});
habe ich versucht, auch unten an scrollpane dieser Code hinzufügen, aber es funktioniert nicht ..
scrollPanel.getViewport().setViewPosition(new Point(0, 0));
Ich habe andere stackoverflow Fragen untersucht und sie verwenden Jtexttarea in Jscrollpane (sie lösten es mit setCaretPosition (0), aber ich kann nicht die gleiche Funktion für das Panel verwenden). In meinem Fall gibt es eine zusätzliche Ebene.
Wie kann ich das lösen ..?
EDIT **
Basierend auf Beratung von Pavlo Viazovskyy, habe ich versucht, auch diese unter und es immer noch nicht für mich arbeiten .. :(
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
scrollPane.getVerticalScrollBar().setValue(0);
}
});
macht Wenn Sie setCaretPosition (0 verwenden) auf JScrollPane, das dein JPanel hält, sollte es den Trick machen. –
Vielen Dank für Ihre Eingabe. JScrollPane hat die Methode nicht; setCaretPosition() .. Gibt es eine Möglichkeit, es auf JScrollPane zu verwenden? –
Verstanden. Ich hoffe [dieser Beitrag] (http://stackoverflow.com/questions/291115/java-swing-using-jscrollpane-and-having-it-scroll-back-to-top) wird dir helfen. –