Hello World,Java Applet,问题

时间:2010-10-03 14:28:31

标签: java applet

我遇到了HelloWorld 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)

1 个答案:

答案 0 :(得分:2)

code标记的applet属性中,您应该使用该类的FQN:webCrawler.applet2.HappyFace(也可以删除.class扩展名。)

此外,请确保在适当的目录(包)结构中包含.class文件。在您的情况下,HTML文件应位于:

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

只有你的HappyFace.class文件应该在:

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

此外,请记住,浏览器(IE,Firefox,Chrome,Safari)上有一个Java控制台,您可以查看一下您在applet执行时遇到的错误。

更新:

您的异常是说您使用比JVM支持的更新版本的Java编译代码。 I.E.您在 Eclipse 中使用了 Java 6 编译器,但您的Java浏览器插件仅 Java 5 (您的JRE仅 Java 5 )。

我会在Eclipse中更改项目设置,告诉它使用 Java 5 兼容编译器(有一个选项),再次编译和部署Applet。它应该工作。