基本上,我想做一个循环,将每个TextField的名称更改为存储在文件夹中的名称。我完全了解如何为int值创建循环,但是完全不知道如何使它影响方法(如下面的示例所示)。有什么想法可以解决问题吗?
检查代码,我相信您会理解我的意思
@FXML
private TextField t1;
@FXML
private TextField t2;
// etc...
@FXML
void music(ActionEvent event) {
if (event.getSource() == dmusic) {
File folder = new File("C:\\eclipse\\MP2");
File[] list = folder.listFiles();
for (int i = 0; i < list.length; i++) {
System.out.println(list[i].getName());
// Here i would like to update TextField name for every "t" method like I did below, but without writing it all the time.
}
// t1.setText(list[0].getName()); // can't make infinite "t"'s and would like to make it in a loop
// t2.setText(list[1].getName());
// t3.setText(list[2].getName());
// t4.setText(list[3].getName());
// t5.setText(list[4].getName());
// t6.setText(list[5].getName());
// ...
}
}
答案 0 :(得分:1)
尝试使用数组列表
Arraylist<TextField> fields = new ArrayList<>();
<add TextFields to arraylist>
然后使用
for(TextField field : fields) {
field.setText("");
}
或
for(int i=0; i< fields.size(); i++){
fields.get(i).setText("");
}
访问您的单个文本字段。