我在 applet 中写了一些 java 代码并且有一个名为 QUIT 的 button ,它的工作是终止执行但是当 applet 在浏览器中运行时比它不是吗?
我试过:
System.exit(1);
System.exit(0);
- 小程序
destroy();
- 小程序
dispose();
它们都不能在浏览器中工作,这背后的逻辑是什么?
最佳答案
System.exit(1);
那是针对应用程序的异常终止。它不应在此处使用,也不应在应用程序中使用,除非存在无法恢复的 fatal error 。
System.exit(0);
一个 applet 可能与其他 applet 共享一个 Java 虚拟机。如果把JVM中的applet看成是宾馆里的客人,那就像是一位客人烧毁了宾馆!即使在受信任的小程序中也是不允许的。
- 小程序
destroy();
当 JVM 认为合适时,JVM 会自动调用该方法。 applet 可能会覆盖该方法,但不应显式调用它。
- 小程序
dispose();
与 destroy()
相同,将其留给 JVM。
结束和小程序最简单的方法是使用AppletContext.showDocument(URL)
.它可能像这样工作(其中 this
代表一个 Applet
):
this.getAppletContext().showDocument(thanksForUsingOurAppletURL);
那当然会重定向到 URL。 JVM 将调用 dispose()
和 destroy()
方法。然后,当它认为这样做合适时(可能在最后一个小程序结束后“30 秒左右”),它将自行关闭。
关于java - 如何使用小程序内置的按钮在浏览器中停止小程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21071739/