87 votes

Java Swing - Utilisation de JScrollPane et retour en haut de page

J'utilise JScrollPane pour permettre le défilement dans une JFrame contenant 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 jusqu'en haut, pour que vous puissiez voir ce qui se trouve au début du fichier.

Quelqu'un sait-il comment procéder ?

148voto

Andreas Points 1

Appel setCaretPosition(0) sur votre composant texte le fera défiler vers le haut.

40voto

Eric Warriner Points 621

Au cas où vous n'utiliseriez pas de composant texte, jetez un coup d'œil au fil de discussion posté ici.... Définir une barre de défilement sur un JScrollPane

La solution consiste à créer un thread via invokeLater

final JScrollPane scroll = new JScrollPane(text);
javax.swing.SwingUtilities.invokeLater(new Runnable() {
   public void run() { 
       scroll.getVerticalScrollBar().setValue(0);
   }
});

10voto

Pb600 Points 52

Cela facilitera le travail :

DefaultCaret caret = (DefaultCaret) textArea.getCaret();
caret.setUpdatePolicy(DefaultCaret.NEVER_UPDATE);

9voto

aosphyma Points 169

Vous pouvez utiliser la méthode setCaretPosition(0) juste après setText(String t) de votre composant texte.

7voto

ykaganovich Points 8497

Utilisation JComponent.scrollRectToVisible()

Si vous avez besoin de plus d'informations, Voici un article

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X