Avancer un scrollbar et le texte associé à la fin

Le
elime
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
pitchopingo
Le #227639
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"
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
pitchopingo
Le #227637
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"
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
elime
Le #227595
On 2 mai, 19:40, "pitchopingo"
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"
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

Publicité
Poster une réponse
Anonyme