使用HTML文件调用JApplet,在Firefox中打开

时间:2014-07-23 07:32:10

标签: java html firefox applet

我编写了一个Java GUI,我最近尝试通过these instructions(将应用程序转换为Applet)转换为JApplet,以便将其嵌入到网站中。从GUI到Applet的过渡似乎是有效的,因为在Eclipse中运行程序是完全可用的 - 现在它只是在Applet查看器而不是JFrame中打开。但是,让JApplet显示在我的Web浏览器中更加困难。

让我们调用我的Eclipse工作区'ws1'。其结构如下:

  • Current_Java_Project
    • SRC
        • MainProgram.java
        • OtherClasses.java

要完整的几点注意事项:

  1. 包中共有5个类,MainProgram定义了扩展JApplet的类
  2. 包不是默认包,没有默认包。虽然只有一个包(不确定是否重要)
  3. 然后我有以下HTML:

    <!DOCTYPE html>
    <html>
    <title>Applet Test</title>
    <hr>
        <applet code="MainProgram.class" width="480" height="320"></applet>
    <hr>
    </html>
    

    我不知道在哪里粘贴这个html文件。首先,我将它放在'bin'文件夹中的本地工作空间位置(它可以找到.class文件)。当我这样做时,我得到一个标题为“NoClassDefFoundError”的应用程序错误警告窗口和消息“MainProgram(错误的名称:package / MainProgram”,没有其他详细信息。将.java文件从工作区复制到另一个位置,编译.class文件使用javac通过命令行,然后从其他位置运行相同的html文件也不起作用,给我同样的错误。

    我认为我在HTML中调用applet的方式有问题,或者我的文件排列方式有问题,因为Applet在Eclipse中运行得很好。如果有人认为它可能是JApplet代码本身的内容,请告诉我。

    附加说明:

    1. 我在Firefox中测试这个html,并编辑了我的Java系统首选项,以便我尝试过这两个路径(工作区路径和备用路径,包括HTML和.class文件)都在Java异常上站点列表(这样我可以在没有JApplet权限的艰辛的情况下测试它)。我不知道这可能是个问题。
    2. 我正在使用最新版本的JRE,我相信它是Java 7,更新65。

2 个答案:

答案 0 :(得分:2)

您需要将html放在 Current_Java_Project 目录中,并使用codebase指向类文件的位置。

尝试类似:

  <applet code="MainProgram.class" codebase="bin/"width="480" height="320"></applet>

bin Current_Java_Project 下包含MainProgram.class

的目录

答案 1 :(得分:0)

HTML5不支持<applet>标记。请改用<embed><object><object classid="MyApplet.class" codebase="/path/to/classes"></object>