程序代码如下:
MyApplet.javapackage Chapter12;
import java.applet.Applet;
import java.awt.*;
public class MyApplet extends Applet
{
 public void init()
 {
 setBackground(Color.gray);
 }
 public void paint(Graphics g)
 {
 g.setColor(Color.blue);
 g.drawString("Hello world!",30,60);
 g.setColor(Color.red);
 g.drawString("This is my first Applet code", 30, 80);
 }
}
----------------------------------------------------------------------
MyApplet.html<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Applet</title>
</head>
<body>
<Applet code="MyApplet.class" height=200 width=200 alt="This browser must have JDK!"></Applet>
</body>
</html>在用IE浏览时在网页上无法显示运行结果,主要是找不到MyApplet.class文件,我是把MyApplet.class和MyApplet.java这两个文件放到一个文件夹中的,但还是找不到,请问一下大家"code="这句该怎样写,才能找到MyApplet.class文件。
非常感谢!!

解决方案 »

  1.   

    我是把这两个文件放在一个目录下的,但是在浏览器中运行还是无法显示结果,code和codebase这两个属性该怎么用,怎样写才能找到.class文件?
      

  2.   

     1. html文件和class文件放在同一目录下
     2. 正确编译MyApplet
      

  3.   

    我这样做了,还是不行,我是在Eclipse上调试的,是不是还需要设置一下什么
      

  4.   

    你不能成功运行的原因很简单,你把package Chapter12; 去掉再编译一下就可以了!
    原因就是找不到类文件,应为你定义了包。即使放在一个目录,当然找不到了类了
      

  5.   

    楼上说得对,我按你说的做了去掉(package Chapter12),用命令行调试了一下,在浏览器中可以显示,但是在Eclipse中该怎样改如果把包去掉则程序就无法运行,我把code=MyApplet.class改成Chapter12.MyApplet.class试了一下还是不行...
      

  6.   

     我想知道为什么就可以了吧,各个软件都不一样的,我还没用过Eclipse调试applet,
    帮不了你,不好意识了。
      

  7.   

    大家如果以前也遇到过类似的问题:关于在Eclipse下调试Applet程序,把解决的方法告诉我好吗?
      

  8.   

    在编译完MyApplet之后;
    将那个.class文件和.html文件放在同一目录下;
    用命令appletviewer MyApplet.html
    然后就可以在小程序察看器下看了,用浏览器蛮麻烦的……至少我觉得…… 
      

  9.   

    我用的是sun公司默认的服务器,也是把java文件放在html一个文件夹的
    也调不出来,但是如果自己编译成class后用appletviewer却可以显示,
    什么原因呢
    HelloWorld.java
    import java.awt.Graphics;
    import java.applet.Applet;
    public class HelloWorld extends Applet
    {
    String text;
    public void init()
    {
    text="hello";
    }
    public void paint(Graphics g)
    {
    g.drawString(text,25,25);
    }
    }<html>
    <applet code="HelloWorld.class" width=200 height=100>
    </applet>
    </html>
      

  10.   

    楼主先将MyApplet.class文件放在 \html文件所在路径\Chapter12\MyApplet.class 目录下,再用code=Chapter12.MyApplet.class试试看。
      

  11.   

    这个行不行Chapter12/MyApplet.class
      

  12.   

    13,14楼的做法我都试了,还是不行,在Eclipse中调试MyApplet.java程序会自动生成MyApplet.class文件,然后再建立一个MyApplet.html文件将Applet嵌入到里面,Eclipse会自动的将MyApplet.class和MyApplet.html放到一个文件夹"\bin\Chapter12\"下,在Eclipse下用浏览器浏览时无法显示并提示:java.lang.NoClassDefFoundError: MyApplet (wrong name: Chapter12/MyApplet),并且只能浏览一次,如果点击刷新的话就什么也不显示,只有重新打开Eclipse,再浏览才能显示,这是这个问题的详细内容。5楼的做法我试了,在CMD下编译在浏览器下可以显示,前提是必须去掉"package Chapter12;"这个语句,但是在Eclipse这个平台上如果去掉包文件的话程序就无法编译,当然就不可能显示了,这种情况该怎么解决?这个问题的关键就是Eclipse找不到.class文件,怎样设置code和codebase这两个属性?
      

  13.   

    code路径应当是这样设的:Chapter12/MyApplet.class (或/Chapter12/MyApplet.class)另外目录结构如下:- MyApplet.html
    - Chapter12 (这是一个目录,和上面的html在同一个文件夹)
    - | - MyApplet.class (这是Chapter12目录中的文件)
      

  14.   

    把包名加上,类放在包文件夹里,包跟Html文件同路径!
      

  15.   


    <jsp:plugin type="applet" code="Chapter12.MyApplet.class"></jsp:plugin>用JSP成功了,JSP文件和Chapter12文件夹平行.
      

  16.   

    JSP生成的页面里有下面的代码:<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" codebase="http://java.sun.com/products/plugin/1.2.2/jinstall-1_2_2-win.cab#Version=1,2,2,0">
    <PARAM name="java_code" value="Chapter12.MyApplet.class">
    <PARAM name="type" value="application/x-java-applet;">
    <COMMENT>
    <EMBED type="application/x-java-applet;" pluginspage="http://java.sun.com/products/plugin/" java_code="Chapter12.MyApplet.class"/>
    <NOEMBED>
    </NOEMBED>
    </COMMENT>
    </OBJECT>
      

  17.   

    并且把上面的代码放到HTML里一样可以显示APPLET,HTML文件和CHAPTER12文件夹在一个目录下.
      

  18.   

    Eclipse自动将.html;.class文件放到包这个文件夹下,然后加上包名,调试了一下,还是不行
      

  19.   


    如果不用JSP的话,光在Eclipse下调试,你试一下看看在浏览器中是否可以显示Applet程序的运行结果
      

  20.   

    忽略了package的后果
    源文件helloapplet.java因为在package applet中,所以在源文件第一行会有这样一行东西:
    package applet;
    ......
    在eclipse里运行小应用程序没有问题,但是用ie浏览器运行html文件,或者用appletviewer命令运行html文件,都会抛出class not found的异常。
    helloapplet.html代码如下:
    <html>
    <head>
    <title>Hello Applet!</title>
    </head>
    <body>
    <applet code="helloapplet.class" width=300 height=100>
    </applet>
    </body>
    </html>
    在网上查了下,修改如下:
    <applet code="helloapplet.class" codebase="D:\eclipseworkspace\helloworld\bin\applet" width=300 height=100>
    </applet>
    codebase指出class文件所在的基地目录,但是还是报相同的错误,折腾了很久,后来光华版友指出,错误和源文件第一行package语句有关。
    于是想到引用包内定义类的格式应该是applet.helloapplet,那么对应的二进制文件引用方法也应该改为applet.helloapplet.class。于是做出
    如下修改:
    <applet code="applet.helloapplet.class" codebase="D:\eclipseworkspace\helloworld\bin" width=300 height=100>
    </applet>
    如此就ok了~:)
    网上的那些入门applet教程都没有涉及到这些细节,所以想写一下,让后来的人少走些弯路。
      

  21.   

    看完楼上的。终于解决了,我就详细点说吧
    java文件 : package edu.gdut.keng
                 class HelloWorld
    在WebRoot中新建文件夹edu,接着在edu下建gdut,接着建keng,把HelloWorld.class复制到keng下 <applet codebase="." code="edu/gdut/keng/HelloWorld.class" width="200" height="100" >
    </applet>

     <applet codebase="." code="edu.gdut.keng.HelloWorld.class" width="200" height="100" >
    </applet>
    code的两种写法都能运行
    有些问题还是说清楚好,不嫌其烦
      

  22.   

    还有,如果你想用一个文件夹管理apps,那么
    WebRoot目录结构应为WebRoot/apps/edu/gdut/keng, keng下放HelloWorld.class
    edu/gdut/keng这几个文件夹是绝对不能少的
     <applet codebase="./apps" code="edu.gdut.keng.HelloWorld.class" width="200" height="100" >
    </applet>
      

  23.   

    如果主程序里除了接入html中的类还有别的类,这几个放一个包里也可以么?