2012-08-06 61 views
1

我有一個文件夾裏面有兩個文件; java .class文件和.html文件。在我的html文件中,我將.class文件作爲applet調用,但它在發佈的網站上出現錯誤,說它無法找到.class文件。這讓我感到困惑,因爲他們在同一個目錄中,我三重檢查拼寫錯誤。Applet異常:java.lang.ClassNotFoundException

這是我的.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 
+0

分享整個錯誤? – oldrinb 2012-08-06 20:40:29

+0

@MarkByers在打字時,它很可能是一個滑動,因爲他事先將它稱爲'.html'文件。 – oldrinb 2012-08-06 20:42:44

+0

是的,我剛剛編輯我的帖子。它看起來很奇怪,因爲在我問及忘記將它改回來之前,我正在搞亂它 – WillB 2012-08-06 20:52:11

回答

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文件在同一目錄中嗎?

+0

我已經試過,沒有成功:( – WillB 2012-08-06 20:42:50

+0

@ user1500134嘗試不帶引號圍繞'code'屬性值。 – oldrinb 2012-08-06 20:45:07

+0

仍然沒有運氣:( – WillB 2012-08-06 20:47:44

0

我很確定你沒有打開正確的HTML文件。 使用文件瀏覽器(Finder I guess;))並在Netbeans項目目錄中查找該文件。它應該在/build/classes/.html中

+2

OP在一年半前提出這個問題時可能會發現這一點。 – 2014-04-23 17:05:56

相關問題