Applet异常:java.lang.ClassNotFoundException

时间:2012-08-06 20:39:20

标签: java html applet

我有一个包含两个文件的文件夹; java .class文件和.html文件。在我的html文件中,我将.class文件称为applet,但它在发布的网站上出现错误,说它无法找到.class文件。这让我很困惑,因为他们在同一个目录中,我三重检查拼写错误。

这是我的.html文件......

<html>

<head>
<title>Applet</title>
</head>

<body>
Program<br />
<applet code="testing.class" width="300" height="300"/>
</body>

</html>

这是我的.class文件......

import java.awt.Color;
import java.awt.Graphics;


public class testing extends java.applet.Applet{

    public void init(){

    }

    public void paint(Graphics g){
        g.drawOval(0,0,250,100);
        g.setColor(Color.RED);
        g.drawString("My Applet",10,50);
    }

}

我的.class文件是“testing.class”,我的html文件是“testingpage.html”

以下是完整错误

load: class testing.class not found.
java.lang.ClassNotFoundException: testing.class
    at sun.plugin2.applet.Applet2ClassLoader.findClass(Applet2ClassLoader.java:252)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Plugin2ClassLoader.java:249)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Plugin2ClassLoader.java:179)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Plugin2ClassLoader.java:160)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Plugin2ClassLoader.java:690)
    at sun.plugin2.applet.Plugin2Manager.createApplet(Plugin2Manager.java:3045)
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Plugin2Manager.java:1497)
    at java.lang.Thread.run(Thread.java:680)
Exception: java.lang.ClassNotFoundException: testing.class
load: class testing.class not found.
java.lang.ClassNotFoundException: testing.class
    at sun.plugin2.applet.Applet2ClassLoader.findClass(Applet2ClassLoader.java:252)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Plugin2ClassLoader.java:249)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Plugin2ClassLoader.java:179)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Plugin2ClassLoader.java:160)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Plugin2ClassLoader.java:690)
    at sun.plugin2.applet.Plugin2Manager.createApplet(Plugin2Manager.java:3045)
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Plugin2Manager.java:1497)
    at java.lang.Thread.run(Thread.java:680)
Exception: java.lang.ClassNotFoundException: testing.class

2 个答案:

答案 0 :(得分:4)

applet标记应为:

<applet code=testing.class width="300" height="300" />

请注意code属性的更改。与relevant Java Tutorial中列出的示例代码进行比较:

<applet code=Applet1.class width="200" height="200">
Your browser does not support the <code>applet</code> tag.
</applet> 

以下内容对我有用。

http://puu.sh/PebS

TestingApplet.java

import java.applet.Applet;

import java.awt.Color;
import java.awt.Graphics;

public final class TestingApplet extends Applet {

  public void paint(final Graphics g){
    g.drawOval(0, 0, 250, 100);
    g.setColor(Color.RED);
    g.drawString("My Applet", 10, 50);
  }
}

测试-applet.html

<html>
  <head>
    <title>Applet</title>
  </head>
  <body>
    Program <br />
    <applet code=TestingApplet.class width="300" height="300" />
  </body>
</html>

如果这不起作用,我有两个问题要问你......

  • 您是否将Java保存为.java文件并对其进行编译以生成正确的.class文件?

  • 您是否验证浏览器未缓存.html文件的旧版本错误?

  • 您的.class.html文件是否在同一目录中?

答案 1 :(得分:0)

我很确定您没有打开正确的HTML文件。 使用您的文件浏览器(Finder I guess;))并在Netbeans项目目录中查找该文件。它应该在/build/classes/.html