包中有init()的Java applet?

时间:2009-03-08 00:31:49

标签: java applet

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

我用谷歌搜索了一些结果。假设我在名为MyApplet.class的jar文件中名为app的目录中有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">

每个都给了我一个ClassNotFoundException。

提前致谢。

3 个答案:

答案 0 :(得分:3)

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

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

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

您可以查看this page以供参考。

答案 1 :(得分:3)

你用虚线表格列出包裹,你不要把'.class'放在最后。

<applet code="packagefolder1.packagefolder2.MyApplet" archive="folder1/folder2/MyApp.jar">

</applet>

答案 2 :(得分:1)

我不确定,但你有这样的尝试吗?:

<applet archive="MyApp.jar" code="MyApplet">