I have several different text fields, combo boxes etc. I want to reset them all back to their defaults (as if the program was just opened) without doing it manually.. i.e. xField.text = ""
, or whatever.
user2442107
问问题
2023 次
1 回答
2
我想将它们全部重置为默认值(就像刚刚打开程序一样),而无需手动进行。
您将不得不手动执行此操作,但您可以通过稍微组织代码来让自己更轻松。
例如,您可以将您的 JTextComponentsArrayList<JTextComponent>
和所有其他类似类型的组件放入它们自己的列表中。然后在您resetAll()
将编写的方法中,遍历所有这些列表以重置所有组件。
IE,
public void reset() {
// for all JTextFields and JTextAreas
for (JTextComponent textComponent: textComponentList) {
textComponent.setText("");
}
// for all JCheckBoxes and JRadioButtons
for (JToggleButton toggleButton: toggleButtonList) {
toggleButton.setSelected(false);
}
// iterate through other lists doing likewise
}
我不推荐的另一种方法是递归遍历 GUI 的所有组件,通过 instanceof 获取类型,然后根据类型设置组件。
于 2013-06-09T18:39:58.100 回答