【问题标题】:Creating a clear button [duplicate]创建一个清除按钮[重复]
【发布时间】:2012-11-28 01:06:32
【问题描述】:

可能重复:
How can I restart a Java application?

我正在开发一个 java 程序,该程序从用户那里接收一堆值并返回一个答案。我有一个“清除”按钮,它使应用程序准备好接受一组新的输入。所以我想要的是这个按钮应该关闭当前正在查看的框架(创建一个窗口关闭事件等),然后调用 main() 函数来创建我的应用程序的一个新实例。我该怎么做?我试过了,但它关闭了所有内容并且新框架没有出现:

WindowEvent wev = new WindowEvent(this, WindowEvent.WINDOW_CLOSING);
Toolkit.getDefaultToolkit().getSystemEventQueue().postEvent(wev);
main(newInstance);

还有 Toolkit 的作用是什么?建议一些读数。谢谢。

【问题讨论】:

  • 您真的需要应用程序的新实例吗?您不应该让您的应用程序通过清除任何文本字段并重新启动来处理此问题吗?我认为如果你每次都再次调用你的 main ,那么当你构建一个运行的 main 堆栈时,你最终会遇到内存泄漏问题。你在用秋千吗?将任何文本字段的文本设置回默认值有什么问题?
  • 是的,但应用程序实际上很大,它有三个类和很多变量,我试过了。这令人困惑和疲惫。只是清除文本字段并将变量设置为默认值并没有帮助。此外,我还在我的一个面板中绘图,然后我必须调用重绘,然后是的很多工作。这很简洁:P
  • 你有没有使用过MVC之类的编码结构?我认为将来使用真实的结构可能会很有用,这样您就可以轻松地做这些事情。我会发布一个可能对你有用的答案,但我有一个有效的结构,你可以根据需要创建新的模型、视图或控制器,而不需要重新启动你的应用程序。

标签: java awt


【解决方案1】:

根据我的 cmets,我认为这不是最佳做法,但这是可能的。

这里已经回答了: How can I restart a Java application?

希望对你有帮助,

【讨论】:

  • 这不是答案,请将帖子标记为重复并链接问题。
  • 谢谢,我以前没见过,我很感激。我已将其标记为重复。希望这对海报有所帮助。
  • 你们没明白我的意思,我不想“重启”我只是想这样做,很简单:myFrameInstance.setVisible(false);主(新实例);
猜你喜欢
  • 2021-04-05
  • 2021-05-15
  • 1970-01-01
  • 1970-01-01
  • 2022-12-02
  • 1970-01-01
  • 1970-01-01
  • 2020-03-21
  • 1970-01-01
相关资源
最近更新 更多