[Java] JTextField : taille dynamique ?
Résolu
zzzer
Messages postés
938
Statut
Membre
-
zzzer Messages postés 938 Statut Membre -
zzzer Messages postés 938 Statut Membre -
Bonjour,
J'ai une application Java qui contient un JTextField, par defaut vide et de taille 5, et j'aimerais que sa taille soit actualisee en fonction de la taille du texte qu'il contient...
J'ai teste la fonction .setDragEnabled(true) mais ce n'est pas tres satisfaisant : il faut que je quitte le JTextField pour que la taille soit effectivement actualisee...
Existe-t-il une autre maniere, plus performante, de realiser ca ?
Merci d'avance !
--
N'oubliez pas de marquer la discussion comme résolue dès que c'est le cas ! -> En haut de la page, Statut: Résolu
Attention aussi à bien respecter la 6e règle de la charte :
J'ai une application Java qui contient un JTextField, par defaut vide et de taille 5, et j'aimerais que sa taille soit actualisee en fonction de la taille du texte qu'il contient...
J'ai teste la fonction .setDragEnabled(true) mais ce n'est pas tres satisfaisant : il faut que je quitte le JTextField pour que la taille soit effectivement actualisee...
Existe-t-il une autre maniere, plus performante, de realiser ca ?
Merci d'avance !
--
N'oubliez pas de marquer la discussion comme résolue dès que c'est le cas ! -> En haut de la page, Statut: Résolu
Attention aussi à bien respecter la 6e règle de la charte :
Rédiger les messages dans un langage clair sans abréviation, style télégraphique ou mode SMS
Configuration: HP DV5 1123ef 3Go de RAM Core 2 Duo 2GHz NVidia 9600M GT
A voir également:
- [Java] JTextField : taille dynamique ?
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Jeux java itel touche ✓ - Forum Logiciels
- Jeux java itel 5360 - Forum Mobile
1 réponse
Hello,
c'est tres facile, tu ajoute une KeyListener sur on JTextField.
exemple utilisant une classe interne:
JTextField jtf= new JTextField(5);
jtf.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent e){
JTextField jtf = (JTextField) e.getSource();
String texteNouvellementInserer = jtf.getText();
int nouvelleTaille = texteNouvellementInserer.lenth();
jtf.setSize(nouvelleTaille);
}
});
n'oublie pas les import (java.awt etc etc ...)
je ne suis pas sur pour la methode setSize(), verifie si c'est la bonne dans la javadoc du jtextfield.
mais ca doit compiler comme il faut.
c'est tres facile, tu ajoute une KeyListener sur on JTextField.
exemple utilisant une classe interne:
JTextField jtf= new JTextField(5);
jtf.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent e){
JTextField jtf = (JTextField) e.getSource();
String texteNouvellementInserer = jtf.getText();
int nouvelleTaille = texteNouvellementInserer.lenth();
jtf.setSize(nouvelleTaille);
}
});
n'oublie pas les import (java.awt etc etc ...)
je ne suis pas sur pour la methode setSize(), verifie si c'est la bonne dans la javadoc du jtextfield.
mais ca doit compiler comme il faut.
Par contre, j'utilise la methode setColumns(), qui definit la largeur du champ en caracteres plutot que setSize(), qui definit la largeur du composant.
Le nombre de colonnes est donc bien applique (controle grace a println), mais pour qu'il soit affiche, il ne faut pas oublier de faire un revalidate() sur le JPanel.
Merci beaucoup !