你可以...
使用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即文本框是用戶輸入的普通字段。 –