JavaFX-如何避免从TextField加载空值?

时间:2016-05-02 14:44:49

标签: java javafx java-8

输入验证方法包含: 一些验证步骤,并且下面这个例外只发生在编辑大小写甚至为空或包含一些输入但在保存情况下工作正常时。

@FXML private TextField txt_field;

Exception in thread "JavaFX Application Thread" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
.
.
.
Caused by: java.lang.NullPointerException

当向此textField加载null并尝试获取length()时会发生这种情况:

txt_field.setText(null); //value is null as loaded from DB.
if(txt_field.getText().length() > 15)    //the line of exception.

那么,在加载空值时我应该怎么做以避免这种情况?。

3 个答案:

答案 0 :(得分:1)

假设您无法检查数据库中出现的数据库是否存在空值,您可以执行类似

的操作
<meta property="og:image:width" content="400" />
<meta property="og:image:height" content="300" />

答案 1 :(得分:0)

如果要将文本直接设置为非空,可以尝试:

txt_field.setText(dbValue == null? "" : dbValue);

答案 2 :(得分:0)

由于您使用java-8对其进行了标记,因此您可以尝试使用Optionals:

Optional dbValue = Optional.ofNullable(getDBValue());   // get the value from the DB
txt_field.setText(dbValue.orElse("");