【问题标题】:Java applet with files amomg several subfolders带有多个子文件夹中的文件的 Java 小程序
【发布时间】:2014-01-02 04:26:08
【问题描述】:

我有一个包含多个目录的 Java 程序,我想把它变成一个小程序。为此,我嵌入了具有startpaint 方法的类,如下所示:

<applet code="appletClass.class" width="450" height="420" codebase="myProgram/bin/">
</applet>

现在,appletClass.class 文件位于 myProgram/bin/ 中,但 appletClass.class 调用和实例化的其他类位于其他几个文件夹中(一些是 myProgram/bin/camyProgram/bin/de)。如果我在appletClass.java 中使用import 语句,JVM 是否会自动知道要查找哪个子文件夹,或者是否有某种方法可以在嵌入中包含多个子目录,以便当我实例化在不同目录中定义的对象时应用程序可以工作?

【问题讨论】:

    标签: java applet embed subdirectory


    【解决方案1】:

    您需要首先创建一个包含所有类文件的 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

    【讨论】:

    • 非常感谢,我不认为我可以只使用使用主类编译的 .jar 文件(具有方法 public static void main(string args[]))?我必须实现init()、start()和paint()然后创建一个jar文件?
    • @WhiteTiger,是的,您不能只运行以前的 jar 文件并期望它作为小程序运行。你需要写一个合适的小程序类
    【解决方案2】:

    如果我使用 import 语句,JVM 会自动知道要查找哪个子文件夹吗?

    是的。

    但是,甲骨文最近对小程序的安全环境进行了严厉打击,以至于未签名的小程序根本不可能启动。所以请听从@sasankad 的建议,然后将课程添加到罐子里(然后对它们进行数字签名)。

    【讨论】:

      猜你喜欢
      • 2022-01-12
      • 2012-09-25
      • 2021-06-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-11
      • 2014-10-15
      相关资源
      最近更新 更多