包中有init()的Java applet?

Bai*_* Li 5 java applet

我想知道你是否可以将主类(或带有init方法的类,无论如何)放在一个包中并仍然在浏览器中运行?大多数时候我将我的applet放入(默认包),但我的applet在一个包中,所以我还能将它嵌入到网页中吗?

我用谷歌搜索了一些结果.假设我已进入MyApplet.class名为appjar文件的目录中MyApp.jar.

我试过这些没有成功:

<applet archive="MyApp.jar" code="MyApplet.class">
<applet archive="MyApp.jar" code="app/MyApplet.class">
<applet archive="MyApp.jar" code="/app/MyApplet.class">
<applet archive="MyApp.jar/app/" code="MyApplet.class">
<applet archive="MyApp.jar" codebase="app/" code="MyApplet.class">
Run Code Online (Sandbox Code Playgroud)

其中每个都给我一个ClassNotFoundException.

提前致谢.

Vin*_*lds 3

archive属性应包含jar的文件名,并且应放置在与网页相同的目录中。

code 属性中的类文件应包含由正斜杠分隔的完全限定类名,以指示目录结构。

因此,在您尝试的试验列表中,试验 2 应该会成功,前提是 MyApp.jar 实际上存在于 html 页面旁边。此外,MyApp.jar 应在根目录中包含“app”目录,其中应包含 MyApplet 类文件。不要忘记在应用程序包中包含 MyApplet 类本身。

您可以查看此页面以供参考。