好吧,请记住,他们自己并没有到达那里(我认为阅读一些关于在运行时动态创建这些面板的问题)
在那里发布的答案中,有人说你应该在数组中保留对这些文本字段的引用。这正是您在这里需要的:
List<JTextField> list = new ArrayLists<JTextField>();
// your code...
for (int i=0; i<maxPoints; i++) {
JTextField textField = new JTextField();
points.add(textField);
list.add( textField ); // keep a reference to those fields.
}
后
for( JTextField f : list ) {
System.out.println( f.getText() ) ;
}
这难道不容易吗?
只要记住要保持这些类型的工件(列表)尽可能私密。它们仅用于您的控制,我不认为它们属于界面。
假设您要获取文本数组,而不是
public List<JTextField> getFields();
您应该考虑:
public List<String> getTexts(); // get them from the textfields ...