将JComponent重置为默认值

时间:2012-12-10 11:35:06

标签: java swing

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

如何将JComponent重置为默认值?

5 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:2)

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

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

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

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

答案 2 :(得分:2)

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

例如

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

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

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

答案 3 :(得分:1)

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

答案 4 :(得分:0)

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