我敢肯定,这个问题已经被问了一百万遍了,但是无论我做多少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.class
或FinalProject.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中的<<或>>>是什么意思? - javaThis 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中),则不会出现中央/常见错误页面。因此,我决定不捕…