我在 applet 中编写了一些java代码,并且有一个名为QUIT 的按钮,它的工作是终止执行,但是当applet在浏览器中运行时比不?
我试过了:
System.exit(1);
System.exit(0);
destroy();
dispose();
它们都没有在浏览器中工作,这背后的逻辑是什么?
答案 0 :(得分:3)
System.exit(1);
这是针对应用程序的异常终止。它不应该在这里使用,并且不会在应用程序中使用,除非存在无法恢复的致命错误。
System.exit(0);
applet可能与其他applet共享Java虚拟机。如果JVM中的小程序可以被视为宾馆中的访客,那就像烧毁宾馆的客人之一!即使在受信任的applet中也不允许这样做。
destroy();
当JVM认为适合这样做时,JVM会自动调用该方法。 applet可能会覆盖该方法,但不应显式调用它。
dispose();
与destroy()
相同,将其留给JVM。
结束和applet的最简单方法是使用AppletContext.showDocument(URL)
。它可能会起作用(this
表示Applet
):
this.getAppletContext().showDocument(thanksForUsingOurAppletURL);
那当然会重定向到网址。 JVM将调用dispose()
和destroy()
方法。然后当它决定这样做时(在最后一个applet结束后可能是'30秒左右'),它会自行关闭。
答案 1 :(得分:0)