Java嵌入HTML - java

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

写入的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代码很大,在这里无法重现,如果有一些特定的问题,您认为这是我可以查找并张贴的小部分的问题。

我的几个朋友设法使他们的工作正常,但是他们说他们必须删除所有.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并将其也本地化。可能值得一看。

Java中的<<或>>>是什么意思? - java

This question already has answers here: Closed 7 years ago. Possible Duplicate: What does >> and >>> mean in Java?我在一些Java代码中遇到了一些陌生的符号,尽管代码可以正确编译和运行,但对于括号在此代码中的作用却感…

Java Applet的URLConnection与PHP无效 - java

我已经研究了Oracle文档和示例,但仍然无法正常工作。我有一个Java Applet,它只是尝试使用URLConnection和OutputStreamWriter通过POST将文本字段发送到PHP脚本。 Java方面似乎工作正常,没有引发异常,但是PHP在我的页面上未显示任何输出。我是PHP新手,因此请耐心等待。这是相关的Java部分: try { UR…

页面加载而不是提交时发生struts验证 - java

请原谅我;我对Struts有点陌生。我遇到一个问题,即页面加载而不是我实际提交表单时发生了验证。我整天都在论坛上搜寻和搜寻,没有任何运气。我显然做错了一些事情,应该很容易确定,但是我还没有发现问题所在。这是我的struts.xml的片段:<action name="*Test" method="{1}" clas…

DataSourceTransactionManager和JndiObjectFactoryBean和JdbcTemplate的用途是什么? - java

以下的用途是什么:org.springframework.jdbc.core.JdbcTemplate org.springframework.jdbc.datasource.DataSourceTransactionManager org.springframework.jndi.JndiObjectFactoryBean <tx:annotatio…

Struts2中的错误处理 - java

我对如何在Struts2中进行错误处理感到困惑。我希望在发生错误时将用户引导到一个中心页面。此外,当发生错误时,我希望将其记录下来,因为我使用的是log4j,因此我将其记录为log.error(e.getMessage(), e);但是,在动作类中,如果我捕获到错误(将我的所有代码放入try / catch中),则不会出现中央/常见错误页面。因此,我决定不捕…