【问题标题】:I want to reset/reload a JFrame so all fields are set back to default value我想重置/重新加载 JFrame,以便将所有字段设置回默认值
【发布时间】:2013-06-05 10:59:23
【问题描述】:

我有几个不同的文本字段、组合框等。我想将它们全部重置为默认值(就像程序刚刚打开一样),而不需要手动进行。即xField.text = "" 或其他任何东西。

【问题讨论】:

  • 我不认为有办法,但你提到的手动方法

标签: java swing jframe reload reset


【解决方案1】:

我想将它们全部重置为默认值(就像刚刚打开程序一样),而无需手动进行。

您必须手动完成,但您可以通过稍微组织一下代码来让自己更轻松。

例如,您可以将 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 获取类型,然后根据类型设置组件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-04
    • 1970-01-01
    • 2013-04-07
    • 2015-10-28
    • 2021-12-05
    • 2011-09-16
    • 1970-01-01
    • 2011-10-24
    相关资源
    最近更新 更多