for (Component c : pane.getComponents()) {
if (c instanceof JTextField) {
((JTextField)c).setText("");
}
}
Но если у вас JTextFields более глубоко вложенный, вы можете использовать следующую рекурсивную форму:
void clearTextFields(Container container) {
for (Component c : container.getComponents()) {
if (c instanceof JTextField) {
((JTextField)c).setText("");
} else
if (c instanceof Container) {
clearTextFields((Container)c);
}
}
}
Редактировать: Образец для Tom Hawtin - tackline предложение будет иметь список в вашем классе кадров:
List<JTextField> fieldsToClear = new LinkedList<JTextField>();
и при инициализации отдельных текстовых полей добавьте их в этот список:
someField = new JTextField("Edit me");
{ fieldsToClear.add(someField); }
и когда пользователь нажимает кнопку очистки, просто:
for (JTextField tf : fieldsToClear) {
tf.setText("");
}