本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/41673295
将一个图形的JAVA应用程序转换为能够嵌入在网页中运行的applet很容易,从本质上来说,所有用户界面编码都是相同的,
将应用程序转化为applet代码基本步骤为:
(1)创建一个HTML页面,并用适当的标记加载applet代码。
(2)创建一个JApplet类的子类。将这个子类标记为共有,否则,不能加载applet。
(3)删除应用程序中的main方法。不要为应用程序构造框架窗口。应用程序将显示在浏览器中。
(4)将框架窗口构造器中的初始化代码移到applet的init方法中。不需要明确地构造applet对象。浏览器负责实例化并调用init方法。
(5)删除对setSize的调用。在applet中,大小由HTML中的width和height参数确定定义。
(6)删除对setDefaultCloseOperation的调用。不要关闭applet,退出浏览器时它会自动终止运行。
(7)如果应用程序调用setTitle,要删除这个调用,Applet没有标题栏。(也可以使用HTML的title标记为网页设置标题)
(8)不需要调用setVisible(true)。Applet会被自动显示出来。
1.Applet的HTML标记和属性
<applet code = "MyApplet.class" width = "300" height="300">
ABCDEFGHIJK (这里的文字只有浏览器不支持applet才会显示出来)
</applet>
注意:code指出类名,必须包括.class扩展名,width和height属性确定applet窗口大小,以像素为单位。
2.使用参数向applet传递信息
applet可以嵌入在HTML中的参数,这是由使用被称为param的的HTML标记连同自定义属性完成的。
需要注意的是:只能在applet的init方法中调用getPatameter方法,而不是在构造器中调用。因为当applet构造器被执行时,参数还没准备好。
<applet code="FontParamApplet.class" width="200" height="200"> <param name="font" value="Helvetica"/> <param name="size" value="30"/> </applet>
public class FontParamApplet extends JApplet{ public void init(){ String fontName = getPatameter("font"); int fontSize = Integer.parseInt(getPatameter("size")); ... } }
3. 简单的示例代码如下:
public class MyApplet extends JApplet { public void init(){ EventQueue.invokeLater(new Runnable(){ @Override public void run() { JLabel label = new JLabel("Not a Hello, World applet",SwingConstants.CENTER); add(label); } }); } }
4.如果想让程序以网页的形式打开并显示,就需要配置Applet与HTML之间的参数,将参数传递给Applet,并使用标记加载Apple。将编译完成的class文件和HTML文件放在同一个文件夹中,直接用浏览器代开HTML文件即可,需要注意的是浏览器需要安装JAVA插件,否则不能够正常的显示。
完整的实例如下所示:
/**Applet**/ public class MyApplet extends JApplet { double f(double x) { return (Math.cos(x / 5) + Math.sin(x / 7) + 2) * getSize().height / 4; } public void paint(Graphics g) { for (int x = 0; x < getSize().width; x++) { g.drawLine(x, (int) f(x), x + 1, (int) f(x + 1)); } } public String getAppletInfo() { return "Draws a sin graph."; } }
/**HTML**/ <html> <head> <title>Applet</title> </head> <body> <hr> <applet code=MyApplet.class width=300 height=120> alt="Your browser understands the <APPLET> tag but isn't running the applet, for some reason." Your browser is completely ignoring the <APPLET> tag! </applet> <hr> <a href="MyApplet.java">The source</a>. </body> </html>