2017-08-13 6 views
0

私はjTextFieldを持っています。その値が空であるかどうかをチェックしたいと思います。jTextField.checkEmpty()を作成する方法

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

は、しかし、私は以下の見た方法でそれをしたい:

JTextField jTextField = new JTextField(); 

jTextField.checkEmpty(); 

これがあればjTextFieldを返すことによって動作します

これまでのところ、私は、このようにそれを行うことができます空ではなく、例外をスローするか、そうでない場合はshowMessageDialogを表示します。

これが可能かどうかはわかりません。ご了承ください。

実際には、私のプロジェクトでスイングコンポーネントの検証クラスを作成したいと考えています。私がこの作業をすることができれば、それを私の検証クラスに入れることができます。

ありがとうございます。

答えて

2

JTextFieldクラスを拡張し、必要なメソッドを追加する独自のクラスを実装する必要があります。

  • まず:

    class MyJTextField extends JTextField 
    { 
        public MyJTextField(String defVal, int size) 
        { 
        super(defVal, size); 
        } 
        public MyJTextField() 
        { 
        super("", size); 
        } 
    
    } 
    
  • 第二:あなたは次のようにのJTextFieldを拡張する必要があり、あなたのcheckEmpty()メソッドを追加する必要があり、あなたは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; 
        } 
    } 
    
  • 次に、このように使用できます。

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

10個のJTextFieldがあるとします。私はそれぞれのJTextFieldごとにこれを作成したいのですか? –

+1

いいえ、1つだけです。あなたの10のJTextFieldはこのクラスのインスタンスになります。 –

関連する問題