2017-08-13 60 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将是这个类的实例。 –