1

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.

4

1 回答 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 回答