如何优雅地终止applet?

时间:2013-01-09 05:39:50

标签: java browser applet exit

我的applet应该从html文件中获取可能是动态生成的外部参数。

<param name="type1" value="value1">
<param name="type2" value="value2">

必须在Applet.init()

中检查这些参数的有效性
String type1 = getParameter("type1");
String type2 = getParameter("type2");
if (type1 == null || type2 == null) ....

他们错了我该怎么办? 可以手动拨打Applet.destroy()吗?

我知道stopdestroy应该由浏览器调用,而不是applet本身。

1 个答案:

答案 0 :(得分:1)

Applet.destroy()只能由JVM调用。

此处的最佳策略是重定向到显示参数及其错误的页面。为此,请使用以下内容:

URL brokenParams = new URL(this.getDocumentBase(), 
    "badparams.html?type1=" + type1 + "&type2=" + type2);
this.getAppletContext().showDocument(brokenParams);

这将产生以下效果:

  • 小程序页面将消失,取而代之的是..
  • badparam.html显示了参数并描述了问题。然后..
  • 当JVM浏览器组合时。确定它是正确的时间,将调用Applet.destroy()方法。 (通过我的计算,“正确的时间”通常是30-60秒。)