将JComponent重置为默认值

例如,如果component是复选框,则必须设置为false,或者它是文本字段,必须清除文本。 我正在尝试编写一个方法来重置JPanel所有组件。 它必须像HTML表单中的重置函数一样工作。

如何将JComponent重置为默认值?

一种可能的解决方法是创建自定义重置function。 重新初始化面板(您的表单)。

例如

 void reset(){ //recreate the form panel. formPanel = new FormPanel(); } 

创建自定义类FormPanel以存储表单字段及其侦听器。

重新初始化面板组件将导致重新分配监听器的开销,如@Robin建议的那样。

作为一名优秀的开发人员,您可能在视图和模型之间有一个很好的分离。 模型更新后,这些更改将反映在视图中。

如果你有这样的结构,你可以简单地将模型重置为默认状态,然后在UI中显示重置状态(这意味着UI被重置为其默认状态)

Swing中没有重置function。 执行此操作的最佳方法是使用要重置的值创建方法并在此处设置所有内容,例如:

 public void resetWindow(){ checkBox.setSelected(false); textField.setText(""); } 

使用这种方式的优点是,只要您想要重置以及加载类时,您就可以重用此方法。

另一种方法是创建Panel的另一个实例并丢弃原始实例。 这样一切都将处于开始状态。

编写一个方法,在start时设置所有元素的初始值。 然后,您可以重用此初始化方法来“重置”值。

对于swing组件没有重置方法,你的代码应该处理它。