【发布时间】:2013-06-05 10:59:23
【问题描述】:
我有几个不同的文本字段、组合框等。我想将它们全部重置为默认值(就像程序刚刚打开一样),而不需要手动进行。即xField.text = "" 或其他任何东西。
【问题讨论】:
-
我不认为有办法,但你提到的手动方法
标签: java swing jframe reload reset
我有几个不同的文本字段、组合框等。我想将它们全部重置为默认值(就像程序刚刚打开一样),而不需要手动进行。即xField.text = "" 或其他任何东西。
【问题讨论】:
标签: java swing jframe reload reset
我想将它们全部重置为默认值(就像刚刚打开程序一样),而无需手动进行。
您必须手动完成,但您可以通过稍微组织一下代码来让自己更轻松。
例如,您可以将 JTextComponents 放在 ArrayList<JTextComponent> 中,并将所有其他类似类型的组件也放入它们自己的 List 中。然后在您将编写的 resetAll() 方法中,遍历所有这些列表,重置所有组件。
即,
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 获取类型,然后根据类型设置组件。
【讨论】: