J'utilise JScrollPane pour permettre le défilement dans un JFrame qui a un composant texte qui sert d'éditeur de texte. Ce que je veux faire, après avoir défini le texte dans cet éditeur, c'est le faire défiler vers le haut, afin que vous puissiez voir ce qui est au début du fichier.
Est-ce que quelqu'un sait comment faire ça?
L'appel setCaretPosition (0) sur votre composant texte le fera défiler vers le haut.
Juste au cas où vous n'utilisez pas de composant texte, jetez un œil au fil publié ici .... Définition de la barre de défilement sur un JScrollPane
Leur solution est de dériver un fil via invokeLater
final JScrollPane scroll = new JScrollPane(text);
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
scroll.getVerticalScrollBar().setValue(0);
}
});
Cela rendra le travail:
DefaultCaret caret = (DefaultCaret) textArea.getCaret();
caret.setUpdatePolicy(DefaultCaret.NEVER_UPDATE);
Utilisez JComponent.scrollRectToVisible ()
Si vous avez besoin de plus d'informations, voici un article
Vous pouvez utiliser la méthode setCaretPosition(0)
juste après setText(String t)
de votre composant texte.
Vous pouvez essayer ceci:
scrollPane.getViewport().setViewPosition(new Point(0,0));
Selon les JavaDocs, setViewPosition () se comporte comme ceci:
Définit les coordonnées de la vue qui apparaissent dans le coin supérieur gauche de la fenêtre, ne fait rien s'il n'y a pas de vue.
Voici comment:
textArea.setSelectionStart(0);
textArea.setSelectionEnd(0);