Javafx VBox中的文本字段

Javafx VBox中的文本字段,javafx,Javafx,我有一个记录列表和两种类型的TextFields:filled和empty。我把它们放在VBox中 for (int i = 0; i < records.size(); i++) { if (records.get(i).contains("NEW")) { TextField fillField = new TextField(); vbox.getChildren().add(fillField); } else { T

我有一个记录列表和两种类型的
TextField
s:filled和empty。我把它们放在
VBox

for (int i = 0; i < records.size(); i++) {
    if (records.get(i).contains("NEW")) {
        TextField fillField = new TextField();
        vbox.getChildren().add(fillField);
    } else {
        TextField filledField = new TextField();
        filledField.setEditable(false);
        filledField.setText(records.get(i));
        vbox.getChildren().add(filledField);
    }
}
我的问题是,当我在控制台中打印时,当字段为空时,我确实会看到
true
。但在我的应用程序中,字段仍然为空。
在我更新所有字段或文件后,是否需要更新vbox或其他内容

如果将属性设置为该值,则
文本字段的文本仅变为
null
。这是个坏主意,因为您需要检查
null
和空字符串(后者是添加一些字符并从
TextField
中删除它们的结果)

在这种情况下,最简单的解决方案是不这样做,而是使用
String.isEmpty
进行检查:

for (String record : records) {
    TextField textField = new TextField();
    if (!record.contains("NEW")) {
        textField.setEditable(false);
        textField.setText(record);
    }
    vbox.getChildren().add(textField);
}

步骤1:获取
文本字段
。步骤2:访问
TextField
text
属性进行检查/替换,并在必要时应用其他修改。。。这将有助于潜在的回答者,如果你解释你在这些部分中的哪些部分有问题…@fabian我这样做了,但仍然不起作用,我不知道为什么。我用我正在做的事情更新了我的问题。
for (String record : records) {
    TextField textField = new TextField();
    if (!record.contains("NEW")) {
        textField.setEditable(false);
        textField.setText(record);
    }
    vbox.getChildren().add(textField);
}
for (Node child : vbox.getChildren()) {
    TextField tf = (TextField) child;
    if (tf.getText().isEmpty()) {
        tf.setText("true");
    }
}