美好的一天,我正在寻找一种重新启动我的应用程序的方法,我提出了一个概念:
submit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
new Application();
dispose();
}
});
Run Code Online (Sandbox Code Playgroud)
处理的对象是正在创建的新对象.我的问题是,它是否是重启应用程序的好方法?为什么不?还有更好的方法吗?
PS如果存在类似的问题我真的找不到它.
我的问题是,它是否是重启应用程序的好方法?
不,这不对.
为什么不?
没有保留以前的信息,您需要不必要地重复读取资源,并且您可能会通过向其抛出多个不必要的创建窗口来激怒用户.
另外,问问自己,您使用的专业应用程序有多少.如果您需要处理不同的文字处理文档,MS Word是否关闭并重新启动?如果您需要阅读新的电子表格,Excel是否会这样做?
还有更好的方法吗?
是的,为程序中的所有相关类提供一个reset()方法,该方法将类和GUI组件的所有字段重置为其原始状态,并在类包含的所有组成对象上调用相同的方法,以便reset()对主类的调用将导致级联调用所有子对象.如何编码将完全取决于您的程序的细节.
如果您的GUI是根据明确的MVC设计模式构建的,那么通常控制对象将调用reset()主模型对象,然后GUI(视图)将对模型状态的变化做出反应.
| 归档时间: |
|
| 查看次数: |
75 次 |
| 最近记录: |