Java嵌入到HTML中

Dou*_*oug 10 html java embed applet

我确信这个问题已被问过一百万次,但无论我做了多少谷歌搜索,我都无法解决这个问题.我基本上试图让一个包含多个包的项目嵌入到网页中.我制作了一个测试程序,它只是让一些球在屏幕上反弹并且能够运行.我将主类放在一个包中,将球类放在另一个包中,只是为了测试它,它似乎运行良好.但是我在网页中实际需要的程序(简称为FinalProject)拒绝这样做.

我能做到的最好的事情就是给我一个空白的屏幕,不给出错误但只是白色.如果我尝试点击应该没有任何反应的地方,我认为因为小程序在那里,但只是显示白色,所以我看不到它.我确实使用了applet标签,我的理解现在已经折旧,但我需要在网页上打开这个项目,这样教师才能看到它.我们已经测试了其他人的项目(使用applet标签)工作,所以我现在试图坚持使用它,并担心之后让它在每个浏览器上工作.虽然这很可能是问题所在.也许它可以在他的浏览器上工作,但不是我的.我尝试在Google Chrome,Mozilla Firefox和Internet Explorer上运行我的程序,但没有运气.

这是HTML代码:

<html>
<head>  

</head>  
<body>  
    <applet code = "main.FinalProject.class" width = "700px" height = "500px"></applet>  
</body>  
</html>
Run Code Online (Sandbox Code Playgroud)

这是写入的HTML文件[Eclipse Workspace]/FinalProject/bin/test.htm.HTML中引用的FinalProject.class文件存在于[Eclipse Workspace]/FinalProject/bin/ main/FinalProject.class.FinalProject.class文件充当主类,所以我很确定这是我需要运行的那个.它是具有init(),actionPerformed(),paint()方法和所有好东西的那个.

目前我正试图在我的计算机上脱机运行,所以我不会想到任何网址.我使用Eclipse编写Java代码,dunno,如果这有任何区别.不幸的是,Java代码相当大,在这里重现太多,如果有一些特定的东西,你认为是我可以查看的问题并发布那个小部分.

我的一些朋友设法让他们的工作,但他们说他们必须删除所有他们的.png文件(烦人,但我的项目可行).他们还说要删除所有鼠标移动代码.我的程序有点依赖于它,我需要它才能使它工作.我知道必须有一种在线使用所有MouseListener和MouseMoveListener代码的方法,也许它有点不同.我不知道如果这与此有关,但我想我会指出它只是为了安全.

这里的任何帮助将不胜感激.

art*_*ung 7

基本上你问的是:如何为今天的浏览器(applet,embed,object)部署一个java applet?

基于此,我认为你想要的是:

<object 
  classid="clsid:CAFEEFAC-0015-0000-0000-ABCDEFFEDCBA"
  style="height: 500px; width: 700px;">
  <param name="code" value="FinalProject.class">
    <comment>
      <embed code="FinalProject.class"
        type="application/x-java-applet"
        height="500" width="700">
        <noembed>
          This browser appears to lack support for Java Applets.
        </noembed>
      </embed>
    </comment>
  </object>
Run Code Online (Sandbox Code Playgroud)

现在,您main.FinalProject.class的代码中有一个文件名.似乎FinalProject.class更有可能.但你的可能是对的.在任何情况下,此html文件都需要与main.FinalProject.classor 处于同一文件夹中,FinalProject.class并且可能还需要任何类.

现在,您可能还需要确保您的浏览器可以实际运行applet.请参阅:如何在Web浏览器中启用Java?


更新

根据Andrew Thompson的反馈,首选解决方案是使用Oracle的JavaScript,如下所示:

<script src="http://www.java.com/js/deployJava.js"></script>
<script>
    var attributes = {
        code:'FinalProject.class',
    width:700, height:500} ;
    var parameters = {}; // does the Applet take parameters?
    var version = '1.6' ; // does the Applet require a minimum version of Java
    deployJava.runApplet(attributes, parameters, version);
</script>
Run Code Online (Sandbox Code Playgroud)

这需要能够加载任意JavaScript,但您也可以捕获该deployJava.js并使其也是本地的.也许值得一瞧.