2017-08-13 3 views
0

J'ai un jTextField et je veux vérifier si ses valeurs sont vides.comment créer jTextField.checkEmpty()

Jusqu'à présent, je peux le faire de cette façon:

public static JTextField checkEmpty(JTextField jTextField) { 
    if (jTextField.getText().equals(" ") || jTextField.getText().isEmpty()) { 
     return null; 
    } else { 
     return jTextField; 
    } 
} 

Cependant, je veux le faire de la manière visible ci-dessous:

JTextField jTextField = new JTextField(); 

jTextField.checkEmpty(); 

Cela fonctionnerait en retournant un jTextField si elle n'est pas vide, et lance une exception ou affiche showMessageDialog sinon.

Je ne sais pas si c'est possible, donc toute aide serait appréciée. Avec tout ce que dit, l'idée même est que je veux créer une classe de validation pour un composant swing dans mon projet. Si je peux faire ce travail, je peux le mettre dans mon cours de validation.

Merci.

Répondre

2

Vous devez implémenter votre propre classe qui étend la classe JTextField et ajouter la méthode que vous voulez.

  • d'abord: vous devez étendre JTextField comme:

    class MyJTextField extends JTextField 
    { 
        public MyJTextField(String defVal, int size) 
        { 
        super(defVal, size); 
        } 
        public MyJTextField() 
        { 
        super("", size); 
        } 
    
    } 
    
  • Deuxièmement: vous devez ajouter votre méthode checkEmpty(), et vous n'avez pas besoin l'argument JTextField:

    public MyJTextField checkEmpty() { 
    if (this.getText().equals("") || 
        this.getText().isEmpty()) 
        { 
        // throw your exception. 
        // print message or whatever you need 
        return null; 
        } else { 
        return this; 
        } 
    } 
    
  • Ensuite: vous pouvez l'utiliser comme ceci:

    MyJTextField jTextField = new MyJTextField(); 
    
    jTextField.checkEmpty(); 
    
+0

Pensez que nous avons 10 JTextField. Est-ce que je veux créer celui-ci pour chaque JTextField. –

+1

Non, juste un et votre JTextField 10 seront des instances de cette classe. –