如何将所有组件刷新为默认值或初始值?

时间:2016-06-16 10:56:03

标签: java swing

我需要将帧重新加载到之前加载的状态,这意味着将所有帧组件返回到第一次放入帧时的状态。以下是我尝试过的问题How can I refresh or reload the JFrame?

frame.invalidate();
frame.validate();
frame.repaint(); 

我还尝试使用frame.removeAll()删除框架的所有组件并重新加载但它也无法正常工作?

非常感谢任何帮助。感谢

2 个答案:

答案 0 :(得分:2)

  

如何将所有组件刷新为默认值或初始值?

最好的方法是保留对每个组件的引用,然后重置每个组件的内容或模型(在视图中显示)。

答案 1 :(得分:1)

如果我说得对,例如你有一个文本字段,有人在其中输入文本,然后你想要重做它以及其他组件。

在这种情况下,没有内置解决方案。你必须手动完成。

我建议使用以下行为:第一次构建框架(创建组件,设置布局,配置操作等)时,将其放入单独的方法,例如, void builtFrame()。然后你可以有一个方法,例如void revertFrame(),它首先删除所有组件,然后调用builtFrame()。如果你没有继承JFrame而只是拥有一个字段,这甚至会变得更容易,因为你可以让方法产生初始状态框架,例如JFrame builtFrame()(而不是void变体)