2017-08-13 74 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

我不確定這是否可能,所以任何幫助將不勝感激。

說了這麼多,實際的想法是我想爲我的項目中的swing組件創建一個驗證類。如果我能做到這一點,那麼我可以把它放在我的驗證課上。

謝謝。

回答

2

您需要實現自己的類來擴展JTextField類並添加所需的方法。

  • 第一:你應該擴展了JTextField,如:

    class MyJTextField extends JTextField 
    { 
        public MyJTextField(String defVal, int size) 
        { 
        super(defVal, size); 
        } 
        public MyJTextField() 
        { 
        super("", size); 
        } 
    
    } 
    
  • 第二:你應該添加您的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

不,只有一個,你的10個JTextField將是這個類的實例。 –