 |
|
 |
|  | Applet标签与Java构件 | back to JAVA forum | |  | 作者:jammay,6级 | 分数:5 | 日期:2004/3/8 18:49:00 | 类别:JAVA, 技术问题 | 回复:2次 | 浏览:1766次 | 状态:已结贴 [omgod(5)] |
|
|
| Applet标签与Java构件
原创:kou_zx
Java中的构件是指按钮、文本框、滚动条等构成Windows窗口的元素。构件的意思是部件或零件,它们是组成一个完整窗口的零件。窗口又称为容器(Container),它是用来盛放构件的地方。除了窗口外,小应用程序也可以盛放构件,下面我们就来介绍一下。
一、构件和JApplet类
Java的构件分为两种:一种是早期版本中的构件,它们是Component类的子类。Component类在java.awt包中,有Button、Box、ListText等,它们的数量较少,不能完全实现在Windows中显示所有元素。另一种是javax.swing包中的JComponent类。它是前者的一个巨大的改进,它包含了前者的所有类型的构件,同时又增加了许多新的构件,这使得它可以实现窗口中的所有元素。为了加以区别,在javax.swing类中的构件前面都有一个J,例如JBox区别于Box。如果想在小应用程序中显示JComponent,需要继承JApplet类,而不是Applet类。
下面我们来看一个继承JApplet类的小应用程序:
import javax.swing.*;
import java.awt.*;
public class Hello_world extends JApplet
{
public void paint(Graphics g)
{
g.drawString("Hello,world!");
}
}
这个程序实际上就是一个“HelloWorld”程序,它与我们常使用的版本的唯一不同在于它继承的是JApplet类,而不是Applet类。
为了在网页上运行它,你需要编写以下的HTML文件:
<html><head><title>Hello,world!</title></head>
<body><hr><applet code="Hello_world.class"
width=300
height=300>
</applet></body></html>
这个html文件也可以用来运行其他小应用程序,只要将文件中的Hello_world替换成将运行的小应用程序名即可,同时,这个文件也可以用于运行继承Applet类的小应用程序。
二、Applet标记
我们知道,html文件是通过各种标记来编排超文本信息的,所以我们要在html中嵌入Applet也需要使用特定的标记。我们要用到的标记是<Applet>和</Applet>它们一起描述了Web页中所有有关将要运行的小应用程序的信息。
在<Applet>标签中,还有一些属性可以在<Applet>标签中使用,下面我来分别介绍一下:
1、CODE属性:它指出了将要运行的小应用程序的文件名,注意,需要包含文件扩展名.class。这里要求将要执行的小应用程序文件与html文件放在同一个目录中。如果要执行的小应用程序文件与html文件不在同一个目录中,就需要使用CODEBASE属性,我们将在下面介绍。
2、WIDTH和HEIGHT属性:他们用来指示小应用程序的边框,即在Web页中要为小应用程序保留的矩形区域的大小,其值以像素为单位,分别表示将使用的区域的宽度和高度。这两个属性应该被赋予适当大小的值,因为浏览器的限制,如果小应用程序试图使用保留区域以外的区域,那么多出来的部分将不可见。
3、CODEBASE属性:当Applet的字节码文件与嵌入它的html文件的保存位置不同的时候,我们就需要使用前面提到的CODEBASE来说明字节码文件的存储位置,这个参数应使用URL的格式,例如:
CODEBASE=http://www.abc.com/java/applet/Hello_world.class
4、ALT属性:如果用户用不支持Java的浏览器打开这个包含了Applet的页面,那么字节码文件将不能被执行,这时浏览器就会显示出ALT参数指出的信息。例如:ALT="Your browser don't support Java."
5、ALIGN属性:这个属性表示的是Applet所使用的区域在浏览器窗口中的对齐情况。
另外,就像使用Application一样,我们可以在Applet中使用参数,我们可以通过在html文件中添加专门的标签来完成这个工作,这就是<PARAM>标签,例如下面这个程序:
import java.applet.Applet;
import java.awt.Graphics;
public class Applet1 extends Applet
{
private int PageNo;
public void init()
{
PageNo=Integer.parseInt(getParameter("pagenumber"));
}
public void paint(Graphics g)
{
g.drawString("The page number is "+PageNo);
}
}
Applet是通过getParameter()方法来获得html文件中创地来的参数的。
相应的html文件如下:
<html>
<body>
<applet code="Hello_world.class" height=300 width=300>
<param name=pagenumber value=5>
</applet>
</body>
</html>
大家看到,虽然我们要传递的参数是一个整型变量,但在上面的程序中使用的方法是先将参数接收为字符串性,这是因为getParameter()方法的参数是字符串,所以,如果想使用其他类型的参数,就需要先将它们接收为整型变量,然后再转换为其他类型。
|
 | [F0110483]  |
| |
|
|
|
|
 |