[英]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所建议的那样 :
code = "webCrawler.applet2.HappyFace"
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.