简体   繁体   English

Hello World,Java Applet,问题

[英]Hello World, Java Applet, Problem

I am having trouble with a HelloWorld Applet. 我在使用HelloWorld Applet时遇到麻烦。

Here is my Java code: 这是我的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);
    }
}

Here is my index.html : 这是我的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>

In Eclipse if I go: Run -> Run it works, however if I do this: 如果在Eclipse中,请执行以下命令: Run -> Run但可以,但是,如果这样做:

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

It opens the html page in Firefox but the app does not work: 它将在Firefox中打开html页面,但该应用程序无法运行:

应用程式无法运作

Update: 更新:

As Pablo Santa Cruz suggested I: 正如Pablo Santa Cruz所建议的那样

  • Changed the location of index.html 更改了index.html的位置
  • Changed index.html to be code = "webCrawler.applet2.HappyFace" 将index.html更改为code = "webCrawler.applet2.HappyFace"

This is the exception in the console. 这是控制台中的例外。

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)

In your code attribute in the applet tag, you should use FQN of the class: webCrawler.applet2.HappyFace (remove .class extension also). applet标记的code属性中,应使用以下类的FQN: webCrawler.applet2.HappyFace (也请删除.class扩展名)。

Also, make sure you have your .class file inside the appropriate directory (package) structure. 另外,请确保您的.class文件位于适当的目录(包)结构内。 In your case, the HTML files should be in: 就您而言,HTML文件应位于:

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

And only your HappyFace.class file should be in: 并且只有HappyFace.class文件应该位于:

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

Also, do keep in mind that there is a Java console on the Browser (IE, Firefox, Chrome, Safari) you can take a look at to see what's the error you are getting on applet execution. 另外,请记住,浏览器(IE,Firefox,Chrome,Safari)上有一个Java控制台,您可以查看一下执行applet时遇到的错误。

UPDATE: 更新:

Your Exception is saying that you compiled your code with a newer version of Java than the JVM supports. 您的例外是,您使用比JVM支持的Java版本更高的代码编译了代码。 IE you used Java 6 compiler in Eclipse but your Java Browser Plugin is only Java 5 (your JRE is only Java 5 ). 在IE中,您在Eclipse中使用了Java 6编译器,但您的Java Browser Plugin仅是Java 5 (您的JRE仅是Java 5 )。

I would change project settings in Eclipse, tell it to use Java 5 compatible compiler (there is an option for that), compile and deploy the Applet again. 我将在Eclipse中更改项目设置,告诉它使用Java 5兼容的编译器(有一个选项),再次编译并部署Applet。 It should work. 它应该工作。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM