Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将JComponent重置为默认值_Java_Swing - Fatal编程技术网

Java 将JComponent重置为默认值

Java 将JComponent重置为默认值,java,swing,Java,Swing,例如,如果组件是复选框,则必须将其设置为false,或者它是文本字段,则必须清除文本。我正在尝试编写一种方法,用于在JPanel中重置所有组件。它必须像HTML表单中的重置函数一样工作 如何将JComponent重置为默认值?编写一个方法,在开始时设置所有元素的初始值。然后,您可以重用此初始化方法来“重置”值。Swing中没有重置功能。最好的方法是使用要重置的值创建一个方法,并在此处设置所有内容,例如: public void resetWindow(){ checkBox.setSel

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


如何将
JComponent
重置为默认值?

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

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

public void resetWindow(){
    checkBox.setSelected(false);
    textField.setText("");
}
使用这种方法的优点是,您可以在需要重置时以及加载类时重用此方法


另一种方法是创建面板的另一个实例并扔掉原来的实例。这样一切都将处于启动状态

swing组件没有重置类型的方法,您的代码应该处理它。

一个可能的解决方法是创建自定义重置函数。重新初始化面板(窗体)

例如

void reset(){
    //recreate the form panel.
    formPanel = new FormPanel(); 
}
创建自定义类
FormPanel
,以存储表单字段及其侦听器


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

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


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

并取消所有操作、侦听器。。。您已设置为组件。从长远来看,这种方法会让你头疼