我有一个包含多个目录的Java程序,我想把它变成一个applet。为此,我已经嵌入了具有start
和paint
方法的类,如下所示:
<applet code="appletClass.class" width="450" height="420" codebase="myProgram/bin/">
</applet>
现在,appletClass.class
文件位于myProgram/bin/
,但appletClass.class
调用和实例化的其他类是其他几个文件夹(有些是myProgram/bin/ca
,{{1 }})。如果我在myProgram/bin/de
中使用import
语句,或者是否有某种方法在嵌入中包含多个子目录,那么JVM是否会自动知道要查找的子文件夹,这样当我实例化在不同目录中定义的对象时,应用程序可以正常工作?
答案 0 :(得分:2)
您需要先创建一个包含所有类文件的jar文件follows
然后按照以下说明进行操作
Sun开发了一个通用JavaScript来处理所有特定的浏览器怪癖,因此您不必担心浏览器兼容性。
将此添加到您的部分:
<script src="//www.java.com/js/deployJava.js"></script>
这部分:
<script>
var attributes = {codebase: 'http://my.url/my/path/to/codebase',
code: 'my.main.Applet.class',
archive: 'my-archive.jar',
width: '800',
height: '600'};
var parameters = {java_arguments: '-Xmx256m'}; // customize per your needs
var version = '1.5'; // JDK version
deployJava.runApplet(attributes, parameters, version);
</script>
有关脚本和所有可能选项的详细说明,请参阅Java™ Rich Internet Applications Deployment Advice。
答案 1 :(得分:1)
如果我使用import语句,JVM是否会自动知道要查找的子文件夹..?
是的。
然而,Oracle最近严厉打击了applet的安全环境,以至于未签名的applet根本不可能启动。因此,请遵循@sasankad的建议并对类进行Jar(然后对它们进行数字签名)。