我敢肯定,这个问题已经被问了一百万遍了,但是无论我做多少Google搜索,我都无法解决这个问题。我基本上是在尝试将包含多个包的项目嵌入到网页中。我编写了一个测试程序,该程序使屏幕上的一些球弹了起来,并且能够使它运行。我将主类放在一个包中,将球类放在另一个包中只是为了对其进行测试,它似乎运行良好。但是我实际上在网页中需要的程序(简称为FinalProject)拒绝这样做。

我能做的最好的事情是给我一个黑屏,没有出现错误,只是白色。如果我尝试单击应该没有任何 react 的位置,我认为是因为该小程序在那里,但仅显示白色,所以我看不到它。我确实使用了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>

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

目前,我正在尝试在计算机上离线运行此文件,因此我认为不应有任何网络URL。我使用Eclipse编写Java代码,如果这没有任何区别,请使用dunno。不幸的是,Java代码很大,在这里无法重现,如果有一些特定的问题,您认为这是我可以查找并张贴的小部分的问题。

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

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

最佳答案

基本上,您要问的是:How to deploy a java applet for today's browsers (applet, embed, object)?

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

<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>

现在,您的代码中的文件名为main.FinalProject.class。似乎FinalProject.class更有可能。但是你的可能是正确的。在任何情况下,此html文件都必须与main.FinalProject.classFinalProject.class位于同一文件夹中,并且可能需要任何类。

现在,您可能还需要确保浏览器可以实际运行小程序。另请: How do I enable Java in my web browser?

更新

根据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>

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

08-07 05:37