在网站上运行 Java 小程序 [英] Running a Java applet on a website

查看:29
本文介绍了在网站上运行 Java 小程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用 Eclipse 创建了一个 Java 游戏.它有 11 个类(一个主类调用其他所有类).我通过以下方式将其称为小程序:

I have created a Java game using Eclipse. It has 11 classes (with one main class that calls everything else). I called it as an applet in the following manner:

<!-- This is the applet handler to load the Handler Class to run the game -->
<td colspan="3"><applet code="Handler.class" codebase="History Adventure Alamo Adventure/" name="Alamo Battle Adventure" width="680" height="509" archive="Handler.jar" id="Alamo Battle Adventure">
</applet></td>

上传到网站后,它显示错误并告诉我点击查看详细信息.当我选择它时,它告诉我 ClassNotFoundException: Handler.class

With it uploaded to the website, it shows an error and tells me to click for details. When I select it, it tells me ClassNotFoundException: Handler.class

代码在身体里,我脑袋里什么都没有.我做错了什么?

The code is in the body and I have nothing in the head. What have I done wrong?

这是我为页面编写的其余代码.实际的测试页面可以在 www.kluckhohndesign.com 上找到

Here is the rest of my code for the page. The actual test page can be found at www.kluckhohndesign.com

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

<script language="javascript" type="text/javascript">
<!--
function popitup(url) {
    newwindow=window.open(url,'name','height=510,width=500');
    if (window.focus) {newwindow.focus()}
    return false;
}

// -->
</script>

<title>Alamo Battle Adventure</title>
</head>

<body>
<blockquote>&nbsp;</blockquote>
<table width="1300" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td width="318" height="160">&nbsp;</td>
    <td colspan="3"><img src="Alamo Battle Adventure.jpg" width="680" height="160" alt="Top Banner" /></td>
    <td width="318">&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td width="226"><a href="howtoplay.html" onclick="return popitup('howtoplay.html')"><img src="How to Play.jpg" width="226" height="52" alt="How to Play" /></a></td>
    <td width="226">&nbsp;</td>
    <td width="227"><a href="Help.html" onclick="return popitup('help.html')"><img src="help.jpg" width="226" height="52" alt="Help" /></a></td>
    <td>&nbsp;</td>
  <tr>
    <td><img src="Alamo Pencil.jpg" width="318" height="250" alt="Alamo Drawing" /></td>
<!-- This is the applet handler to load the Handler Class to run the game -->
    <td colspan="3"><applet code="Handler.jar" codebase="History Adventure Alamo Adventure/" name="Alamo Battle Adventure" width="680" height="509" archive="Handler.jar" id="Alamo Battle Adventure" />
    </applet></td>
    <td><img src="texans.jpg" width="318" height="250" alt="Texans Drawing" /></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td colspan="3">&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td colspan="3">&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
</table>
</body>
</html>

推荐答案

这会让你走得更远:

<html>
<body>
<applet
    code="Handler"
    codebase="http://www.kluckhohndesign.com/History%20Adventure%20Alamo%20Adventure/"
    name="Alamo Battle Adventure"
    width="680"
    height="509"
    archive="Handler.jar"
    id="Alamo Battle Adventure" >
</applet>
</body>
</html>

您可以省略代码库中的 http://www.kluckhohndesign.com/ 前缀.

You can leave out the http://www.kluckhohndesign.com/ prefix on the codebase.

现在它会导致 InvocationTargetException.但要问一个新问题.

Now it causes an InvocationTargetException. But ask a new question about that.

  1. code 属性应该是 class 的完全限定名称 &与 Jar 无关.大多数人认为 FQN 等同于 Handler.class,但它实际上仅意味着 Handler.
  2. 代码库可以是简单的 History%20Adventure%20Alamo%20Adventure/(如果它从您的网站上删除).它需要 %20 作为空格,因为空格在 URL 中无效.再说一次,出于这个原因,大多数部署者根本不会使用带空格的目录名称.
  3. applet 元素从来没有像原始页面中显示的那样自行关闭".相反,它需要一个显式的 </applet> 结束元素.
  4. 请继续在我建议的更简单的页面中进行测试,不要有任何其他问题.
  1. The code attribute should be the fully qualified name of the class & has nothing to do with the Jar. Most people think FQN equates to Handler.class but it actually means just Handler.
  2. The codebase can be simply History%20Adventure%20Alamo%20Adventure/ if it is coming off your site. It needs the %20 for spaces, as spaces are not valid in an URL. Then again, most deployers would not use directory names with spaces at all, for that very reason.
  3. The applet element was never meant to be 'self closed' as was shown in your original page. Instead it needs an explicit </applet> closing element.
  4. Please keep testing in the simpler page I suggested, without all that other cruft.

这篇关于在网站上运行 Java 小程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆