【问题标题】:How do I catch the null value from my JtextField?如何从我的 JtextField 中捕获空值?
【发布时间】:2014-02-12 06:45:22
【问题描述】:

我有一个 JTExfield,如果用户将文本字段留空,我想赶上它并将字符串设置为“NULL” 如果我在字符串中写入 blablabla 或其他任何内容,它就可以工作,但我也想抓住他们是否将其留空并将文本“NULL”放入我的文件中。

我已经尝试了两种解决方案,但都没有奏效:

当用户单击确定按钮时,它会执行以下操作:

setPicture(pictureTextField.getText());

调用这个方法的:

public void setPicture(String picture) {

            if (picture == null) {

                picture = "NULL";

            }

            this.picture = picture;
        }

和:

public void setPicture(String picture) {

        if (picture == "") {

            picture = "NULL";

        }

        this.picture = picture;
    }

所以重复我想要做的是将我的图片字符串设置为“NULL”是用户将文本字段留空。

【问题讨论】:

  • JTextField.getText() 不返回null,而是在文本为空时返回一个空字符串。试试if (picture.isEmpty())
  • .equals("") !!!我认为

标签: java user-interface jtextfield


【解决方案1】:

将空检查和空检查组合在一起:

public void setPicture(String picture) {

  if (picture == null || picture.isEmpty()) {

    picture = "NULL";

  }

  this.picture = picture;
}

【讨论】:

【解决方案2】:

您可以通过两种方式检查...

1] 检查String 是否为空...

if ( "".equals(picture.trim()) ) {

    picture = "NULL";

}

2] 检查String 长度是否为0...

if ( picture.trim().length() == 0 ) {

    picture = "NULL";

}

【讨论】:

  • @Sembrano isEmpty() 内部检查字符串的长度,如果为0则返回true,请在此处检查。 docs.oracle.com/javase/7/docs/api/java/lang/…,你应该担心的另一件事是 isEmpty() 是在 java 1.6 中引入的,所以它在 1.5 或更早版本中不起作用..!!
【解决方案3】:
if(pictureTextField.getText().length()>1){
    //nothing in text field. Here you can set null
}else {
     // text field contains something
}

或者试试

pictureTextField.getText().equals("")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-01
    • 1970-01-01
    • 2016-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-28
    • 2012-02-01
    相关资源
    最近更新 更多