【发布时间】:2012-11-28 01:06:32
【问题描述】:
我正在开发一个 java 程序,该程序从用户那里接收一堆值并返回一个答案。我有一个“清除”按钮,它使应用程序准备好接受一组新的输入。所以我想要的是这个按钮应该关闭当前正在查看的框架(创建一个窗口关闭事件等),然后调用 main() 函数来创建我的应用程序的一个新实例。我该怎么做?我试过了,但它关闭了所有内容并且新框架没有出现:
WindowEvent wev = new WindowEvent(this, WindowEvent.WINDOW_CLOSING);
Toolkit.getDefaultToolkit().getSystemEventQueue().postEvent(wev);
main(newInstance);
还有 Toolkit 的作用是什么?建议一些读数。谢谢。
【问题讨论】:
-
您真的需要应用程序的新实例吗?您不应该让您的应用程序通过清除任何文本字段并重新启动来处理此问题吗?我认为如果你每次都再次调用你的 main ,那么当你构建一个运行的 main 堆栈时,你最终会遇到内存泄漏问题。你在用秋千吗?将任何文本字段的文本设置回默认值有什么问题?
-
是的,但应用程序实际上很大,它有三个类和很多变量,我试过了。这令人困惑和疲惫。只是清除文本字段并将变量设置为默认值并没有帮助。此外,我还在我的一个面板中绘图,然后我必须调用重绘,然后是的很多工作。这很简洁:P
-
你有没有使用过MVC之类的编码结构?我认为将来使用真实的结构可能会很有用,这样您就可以轻松地做这些事情。我会发布一个可能对你有用的答案,但我有一个有效的结构,你可以根据需要创建新的模型、视图或控制器,而不需要重新启动你的应用程序。