bonjour a tous ,
voila j ai un petit problème : comme le dit le titre, je veux connaitre la valeur d'un JTextField non rempli (vide ) pour savoir si l'utilisateur la rempli ou pas.
ca peux pas être NULL ( j ai tester !!!!!!)
et merci
Version imprimable
bonjour a tous ,
voila j ai un petit problème : comme le dit le titre, je veux connaitre la valeur d'un JTextField non rempli (vide ) pour savoir si l'utilisateur la rempli ou pas.
ca peux pas être NULL ( j ai tester !!!!!!)
et merci
Si le champs est vide, la méthode getText() renvoie... une chaîne vide. Tu ne l'as pas vu dans tes tests ?
la solution que j ai trouver :
initialiser le JTextField avec un blanc :et pour tester au lieu de faireCode:JTextField txtF = new JTextField(" ")
qui ne marche pas j ai faitCode:if(txtF.getText()!=" ")
mais en faite quel la différence entre equals(" ") et == " "Code:if(txtF.getText().equals(" ")==false)
A la question de l'opérateur d'égalité sur les String.
Une question récurrente en Java !
Elle est d'ailleurs dans dans la FAQ Java de ce site.
Maintenant, pour savoir si ta chaîne de caractères est vide.
Il existe la fonction isEmpty() dans la classe String. (Oui, String est une classe)
Il est donc probable que le code suivant fonctionne correctement :
Note : Ici, nous mettons deux couche-culottes.Code:
1
2
3
4
5
6
7
8 JTextField myTextField = new JTextField(); if(myTextField.getText()!=null) { if(!myTextField.getText().isEmpty()) { //TODO Input from user } }
Car :
Même si il est possible de jouer au plus fin :Citation:
Envoyé par public JTextField()
Cordialement,Code:
1
2
3
4
5 JTextField myTextField = new JTextField(""); if(!myTextField.getText().isEmpty()) { //TODO Input from user }
Patrick Kolodziejczyk.
En effet, il faut éviter de jouer avec l'opérateur == et les String car String est une classe contrairement à int, char, etc. même si elle n'est pas géré tout à fait comme les autres classes au point de vue pointeur.
Pour vérifier si un String est egale à un autre utilise la méthode .equals(str);