你可以...
使用Container#getComponents
列出一个给定的Container
的所有子组件,您将需要检查每个Component
和测试,看它是否是一个instanceof
JTextField
,当你发现一个组件,它将其投射并使用setText
来清除该字段。您还需要测试每个Component
,看它是否是一个instanceof
Container
和执行递归搜索,如getComponents
将只返回指定Container
眼前的孩子这是怎么样的混乱和费时的,因为你需要遍历整个组件层次结构以确保找到所有字段。这也意味着,它会清除你其实并不想清楚领域...
你可以...
创建一个自定义类,从JInternalFrame
或其他一些类像JPanel
,其中有一个延伸方法,例如clearFields
(例如),它可以简单地循环通过JTextField
的List
。然后
您需要添加要通过这种方法管理的List
各个领域,但它是一个简单的机制......
public class MyAwesomeForm extends JPanel {
private List<JTextField> fields;
public void registerField(JTextField field) {
fields.add(field);
}
public void unregisterField(JTextField field) {
fields.remove(field);
}
public void clearFields() {
for (JTextField field : fields) {
field.setText(null);
}
}
}
您所有的形式都需要从这个当延长您只需拨打clearFields
给定的表格...
你如何填充这些文本框的数据?那些与一些模型对象绑定?如果是,那么你可以简单地重置模型对象。 – eatSleepCode
否它们没有绑定,textFields即文本框是用户输入的普通字段。 –