Loops 如何循环javafx中的每个文本字段?

Loops 如何循环javafx中的每个文本字段?,loops,javafx,textfield,Loops,Javafx,Textfield,我有一个有40个文本字段的程序。我想知道如何在每个和setText上循环。每个文本字段已经有不同的fxid。救命啊!我希望代码简洁。您需要一个列表来跟踪每个文本字段。您的问题不包括任何代码,因此很难确定在您的情况下执行此操作的最简单方法,但有两种选择 同一布局容器:如果所有TextField控件都包含在同一布局容器中,如VBox或FlowPane,则可以使用该容器的子级列表:VBox.getChildren 创建自己的列表:如果您拥有所有文本字段的fx:id,则将它们添加到列表:List.add

我有一个有40个文本字段的程序。我想知道如何在每个和setText上循环。每个文本字段已经有不同的fxid。救命啊!我希望代码简洁。

您需要一个列表来跟踪每个文本字段。您的问题不包括任何代码,因此很难确定在您的情况下执行此操作的最简单方法,但有两种选择

同一布局容器:如果所有TextField控件都包含在同一布局容器中,如VBox或FlowPane,则可以使用该容器的子级列表:VBox.getChildren 创建自己的列表:如果您拥有所有文本字段的fx:id,则将它们添加到列表:List.addtextField中 现在已经有了列表,只需使用迭代器或简单的for循环对其进行迭代:

容器子对象:

您自己的列表:


当然可以如果这回答了您最初的问题,请单击复选标记接受它,并将下一个问题作为新问题发布。很乐意帮忙!您自己的列表代码为我执行,但它似乎对我的javafx程序中的文本字段没有任何影响/交互。我该怎么办?一种选择是使用这种方法:
for (Node node : root.getChildren()) {
    // If you're certain all the children ARE TextFields, cast the node now
    ((TextField) node).setText("Yay for text!");
}
    // Create a List to track all the TextFields
    List<TextField> textFieldList = new ArrayList<>();

    // Add some TextFields to the list
    for (int i = 0; i < 20; i++) {
        textFieldList.add(new TextField());
    }

    // Now iterate over the list of TextFields and set their text
    for (TextField textField :
            textFieldList) {
        textField.setText("Yay for text again!");
    }