java - 如何使用小程序内置的按钮在浏览器中停止小程序?

标签 java applet

我在 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/

相关文章:

不再支持 Java 小程序 - 有什么替代方案? (文件操作-shell命令)

java - 将java小程序的图形内容保存到图像文件无法正常工作

java - 分配给同名的静态最终字段

Java:通过同步实现公共(public)实例变量线程安全

Web 托管站点上的 Java Applet 错误

java - Java applet 中的多个 jAppletForm

java - 在小程序中显示图像并播放音频片段

java - For 循环接受额外的数组成员

java - 具有多个 "scatter lines"的散点图

java - Grails 替换一对一关联中的对象