Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Avancer un scrollbar et le texte associé à la fin

3 réponses
Avatar
elime
Bonjour,
J'ai un scrollbar qui s'affiche quand un texte s'affichant dans un
jetxtfield d=E9passe la taille de celui-ci. J'aimerai que le scrollbar
se positionne toujours en fin de position et que le texte affich=E9 dans
le jtextfield soit la fin du texte et plut=F4t que le d=E9but. Je n'ai
trouv=E9 aucune propri=E9t=E9 faisant cela. Quelqu'un a une id=E9e ?
merci

3 réponses

Avatar
pitchopingo
Bonjour,

Apres avoir "remplit" le JTextField, utilisez la méthode setCaretPosition
pour placer le curseur à la fin.
Je ne l'ai pas testé mais je me demande si ca ne marcherait pas?!?
genre
JTextField jtf = new JTextField(); (juste pour avoir un handle, on se
comprendra mieux)

jtf.setCaretPosition(jtf.getText().length()); -> positionne le curseur à la
fin du text

à essayer?!? :)

Cordialement,

"elime" a écrit dans le message de news:

Bonjour,
J'ai un scrollbar qui s'affiche quand un texte s'affichant dans un
jetxtfield dépasse la taille de celui-ci. J'aimerai que le scrollbar
se positionne toujours en fin de position et que le texte affiché dans
le jtextfield soit la fin du texte et plutôt que le début. Je n'ai
trouvé aucune propriété faisant cela. Quelqu'un a une idée ?
merci
Avatar
pitchopingo
rebonjour,

j'ai jeté un coup d'oeil car je trouvais que soluce était un peu facile et
vu que vous avez déjà fouillé...
du coup, on résumé :
a chaque évennement de votre choix (pour ma part, il s'agit du KeyEvent sur
le JTextField), j'ai fait :

public void keyPressed(KeyEvent e){

// récupération du handle de l'objet JTextField ayant causé l'évennement
(touche clavier enfoncée pour l'exemple)
JTextField jtf = (JTextField) e.getSource();

// Place le curseur en fin de ligne
jtf.setCaretPosition(jtf.getText().length());

// Recupération du handle de la JScrollBar associé au JScrollPane (dans
l'exemple, je l'ai mis public pour y accéder tranquilement)
JScrollBar jsb=jsp.getHorizontalScrollBar();

// place la position du JScrollBar au maximum
jsb.setValue(jsb.getMaximum());
}

J'espère que cela répondra mieux à votre demande :)

"elime" a écrit dans le message de news:

Bonjour,
J'ai un scrollbar qui s'affiche quand un texte s'affichant dans un
jetxtfield dépasse la taille de celui-ci. J'aimerai que le scrollbar
se positionne toujours en fin de position et que le texte affiché dans
le jtextfield soit la fin du texte et plutôt que le début. Je n'ai
trouvé aucune propriété faisant cela. Quelqu'un a une idée ?
merci
Avatar
elime
On 2 mai, 19:40, "pitchopingo" wrote:
rebonjour,

j'ai jeté un coup d'oeil car je trouvais que soluce était un peu faci le et
vu que vous avez déjà fouillé...
du coup, on résumé :
a chaque évennement de votre choix (pour ma part, il s'agit du KeyEvent sur
le JTextField), j'ai fait :

public void keyPressed(KeyEvent e){

// récupération du handle de l'objet JTextField ayant causé l'éve nnement
(touche clavier enfoncée pour l'exemple)
JTextField jtf = (JTextField) e.getSource();

// Place le curseur en fin de ligne
jtf.setCaretPosition(jtf.getText().length());

// Recupération du handle de la JScrollBar associé au JScrollPane (da ns
l'exemple, je l'ai mis public pour y accéder tranquilement)
JScrollBar jsb=jsp.getHorizontalScrollBar();

// place la position du JScrollBar au maximum
jsb.setValue(jsb.getMaximum());
}

J'espère que cela répondra mieux à votre demande :)

"elime" a écrit dans le message de news:

Bonjour,
J'ai un scrollbar qui s'affiche quand un texte s'affichant dans un
jetxtfield dépasse la taille de celui-ci. J'aimerai que le scrollbar
se positionne toujours en fin de position et que le texte affiché dans
le jtextfield soit la fin du texte et plutôt que le début. Je n'ai
trouvé aucune propriété faisant cela. Quelqu'un a une idée ?
merci


ca marche,
merci