2010-10-03 97 views
0

我在HelloWorld Applet遇到問題。Hello World,Java Applet,問題

這裏是我的Java代碼:

package webCrawler.applet2; 

import javax.swing.JApplet; 
import java.awt.Graphics; 

public class HappyFace extends JApplet 
{ 
    public void paint (Graphics canvas) 
    { 
     canvas.drawOval(100,50,200,200); 
     canvas.fillOval(155,100,10,20); 
     canvas.fillOval(230,100,10,20); 
     canvas.drawArc(150,160,100,50,0,180); 
    } 
} 

這裏是我的index.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 

<html> 
    <head> 
    </head> 
    <body bgcolor="000000"> 
     <center> 
      <applet 
       code = "HappyFace.class" 
       width = "500" 
       height = "300" 
       > 
      </applet> 
     </center> 
    </body> 
</html> 

在Eclipse中,如果我去:Run -> Run它的工作原理,但如果我這樣做:

% pwd 
/Users/me/Documents/workspace/WebCentric/bin/webCrawler/applet2 
% ls 
HappyFace.class   index.html 
% open index.html 

它打開Firefox中的HTML頁面,但該應用程序不起作用:

app not working

更新:

由於Pablo Santa Cruz suggested我:

  • 改變的index.html的位置
  • 更改的index.html是code = "webCrawler.applet2.HappyFace"

這是控制檯中的例外。

java.lang.UnsupportedClassVersionError: webCrawler/applet2/HappyFace (Unsupported major.minor version 49.0) 
    at java.lang.ClassLoader.defineClass0(Native Method) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:539) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123) 
    at sun.applet.AppletClassLoader.findClass(AppletClassLoader.java:213) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:289) 
    at sun.applet.AppletClassLoader.loadClass(AppletClassLoader.java:151) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:235) 
    at sun.applet.AppletClassLoader.loadCode(AppletClassLoader.java:680) 
    at sun.applet.AppletPanel.createApplet(AppletPanel.java:635) 
    at sun.plugin.AppletViewer.createApplet(AppletViewer.java:1991) 
    at jep.AppletFramePanel.createApplet(Unknown Source) 
    at sun.applet.AppletPanel.runLoader(AppletPanel.java:564) 
    at sun.applet.AppletPanel.run(AppletPanel.java:301) 
    at jep.AppletFramePanel.run(Unknown Source) 
    at java.lang.Thread.run(Thread.java:552) 

回答

2

applet標記你code屬性,你應該使用FQN類:webCrawler.applet2.HappyFace(刪除.class擴展還)。

此外,請確保您的.class文件位於相應的目錄(包)結構中。在你的情況下,HTML文件應該在:

/Users/me/Documents/workspace/WebCentric/bin/ 

而且只有你HappyFace.class文件應:

/Users/me/Documents/workspace/WebCentric/bin/webCrawler/applet2 

此外,請記住,有一個Java控制檯上瀏覽器(IE,Firefox,Chrome,Safari)你可以看看你在applet執行時遇到的錯誤。

UPDATE:

你的例外是說,你與Java較新版本的編譯代碼比JVM支持。 I.E.您使用的Java 編譯器Eclipse中但你的Java瀏覽器插件僅Java 5的(你的JRE僅Java 5的)。

我會改變Eclipse中的項目設置,告訴它使用兼容的編譯器(有一個選項),再次編譯和部署Applet。它應該工作。

+0

將其更改爲'code =「webCrawler.applet2.HappyFace」'但仍然沒有骰子。 – sixtyfootersdude 2010-10-03 14:36:17

+0

您是否也按照我的建議移動了文件? – 2010-10-03 14:37:54

+0

是的,我做了,看我的更新。 – sixtyfootersdude 2010-10-03 14:54:14