我已经在applet中编写了几行Java代码,并且有一个名为QUIT的按钮,它的工作是终止执行,但是当applet在浏览器中运行时,它没有运行吗?
我努力了:
> System.exit(1);
> System.exit(0);
> Applet destroy();
> Applet dispose();
它们都无法在浏览器中工作.这背后的逻辑是什么?
解决方法:
> System.exit(1);
这是为了异常终止应用程序.除非有致命错误无法从中恢复,否则不应在此处使用它,也不要在应用程序中使用它.
> System.exit(0);
小程序可能与其他小程序共享Java虚拟机.如果可以将JVM中的applet视为旅馆的来宾,那就像是烧毁旅馆的来宾之一!即使在受信任的小程序中也不允许这样做.
> Applet destroy();
当JVM认为适当时,该方法将由JVM自动调用.小程序可能会覆盖该方法,但不应显式调用它.
> Applet dispose();
与destroy()相同,将其留给JVM.
结束和applet的最简单方法是使用AppletContext.showDocument(URL)
.它可能像这样工作(其中代表Applet):
this.getAppletContext().showDocument(thanksForUsingOurAppletURL);
当然,这将重定向到URL. JVM将调用dispose()和destroy()方法.然后,当它决定这样做(在最后一个小程序结束后大约30秒左右)时,它将自行关闭.