如何创建 jTextField.checkEmpty()

how to create jTextField.checkEmpty()

我有一个 jTextField,我想检查它的值是否为空。

到目前为止,我可以这样做:

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 组件创建一个验证 class。如果我可以完成这项工作,那么我可以将其放入验证中 class.

谢谢。

您需要实现自己的 class 来扩展 JTextField class 并添加您想要的方法。

  • 首先:您应该像这样扩展 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();