读书人

创设交互式Web程序

发布时间: 2013-03-21 10:08:17 作者: rapoo

创建交互式Web程序

创建交互式Web程序

Java是第一款可以再Web浏览器上运行的编程语言。Applet是作为Web页面的一部分运行的Java程序。当在页面中遇到Java applet时,它将被下载到用户的计算机然后再开始运行,因此为了缩短下载时间,它们比大多数应用程序都要小。另外applet是在使用它的用户计算机上运行的,为阻止恶意或破坏行为的代码运行,对applet会有众多安全限制。

1、标准applet方法

创建applet的第一步是将其声明为JApplet的子类,后者位于Swing包javax.swing中。Applet被视为Web页面内的一个可见的窗口,因此JApplet与按钮、滚动条及其他用户界面组件一样,也是Swing的一部分。

你编写的applet在作为Web页面的一部分运行时,可以继续所需的所有属性和行为。在开始编写applet程序的语句之前,它们就能与Web浏览器交互、自我加载和卸载,并根据浏览器窗口的变化刷新其窗口以及处理其他必要的任务。

Java applet没有main()方法,因此无法设置程序的起点,但是它有一组标准方法,它们在applet运行时为响应特定事件而被调用。下面是可能导致applet方法被调用的事件:

>程序第一次加载时,applet的方法init()和start()被调用;

>当需要重新显示applet窗口时,applet的paint()方法被调用;

>浏览器停止运行程序时,applet的stop()方法被调用;

>程序停止后重新运行时,applet的start()方法被调用;

>程序运行完后卸载时,applet的destroy()方法被调用。

下面是applet的框架:

Public class test01 extendsjavax.swing.JApplet{ }

Applet类文件必须是public的,因为JApplet类也是public的(如果applet使用自定义类,则可以不声明为public)。Applet类继承所有必要时自动调用的方法:init()、start()、paint()、stop()、destroy()。但是这些方法什么也不做,需要我们重写写着方法。

1)、在applet窗口中绘画

Paint()方法用于在applet窗口中显示文本和图形。需要在applet窗口中显示或重新显示内容时(即浏览器或运行浏览器的操作系统有什么变化时,例如遮挡窗口关闭),将调用paint()方法。也可以使用repaint()方法强行调用paint()。

Public void paint(Graphics screen){

Graphics2D screen2D = (Graphics2D)screen;

}

Graphics类表示可在其中显示内容的环境。和Swing程序中一样,可以将其转换为Graphics2D对象,以实用Swing的图形功能。

2)、初始化applet

当applet运行时,将调用init()方法,而且只调用一次。所以这里是对applet成功运行所需的对象和变量进行设置的理想位置。该方法也是设置字体、颜色和屏幕背景色的理想位置,下面是一个例子:

public void init() {

FlowLayout layout = new FlowLayout();

setLayout(layout);

JButton button = new JButton("运行");

add(button);

}

3)、启动和停止applet

每当开始运行applet程序时,都将调用start()方法。当程序首次运行时,init()方法后面紧跟着start()方法。之后,只有当applet在某处停止执行,并需要启动时,才调用start()。

Applet停止执行时,将调用stop()方法。当用户从包含applet的Web页面离开并切换到其他页面时将发生该事件。直接在程序中调用stop()方法时,也会发生该事件。

4)、销毁applet

Destroy()方法与init()方法相反,仅当applet被完全关闭并结束运行前被调用。

2、将applet放到Web页面中

在Web页面中放置applet时,需要使用HTML,这是一种用来创建Web页面的标记语言。HTML可以将格式化文本、图像、声音和其他元素组合起来,并显示在Web浏览器中。关于HTML的标记和用法在这里就不说了,下面是一个将a1.jpg显示在页面上的例子:

<img src=”test/picture/a1.jpg”>

在applet的一个方法是使用applet标记和几个属性。下面的HTML标记将在一个页面上运行applet:

<applet code=”mytest01.class”codebase=”java.application.main” height=”300” width=”400” align=”left”>

<p>抱歉,您的浏览器不支持java applet程序</p>

</applet>

>Code属性指定applet类的文件名,如果applet使用了多个类文件,code应指定作为JApplet子类的那个类;

>Codebase属性包含applet和相关文件所在的文件夹或子文件夹的路径。如果没有codebase属性,与applet相关的所有文件必须与包含applet的Web页面位于同一个文件夹中。上面的例子中可以在java/application/main文件夹中找到mytest01.class。

>Height和width指定applet窗口在Web页面中的大小,单位为像素。

>Align属性指定applet同页面中其他元素的相对关系,上面的例子是将applet放在相邻页面元素的左边。

3、创建applet

下面是程序是用applet程序显示字符串“Saluton mondo!”,这是传统的世界问候语。


7)、使用object标记

在HTML5中加载入Java applet、Flash程序以及其他格式的交互式内容时,使用的不再是<applet>标记,而是<object>。与<applet>相同,该标记也有height和width属性,不过它还有另外一个类型的属性——application/x-java-applet,这是MIME为Java applet设定的类型(MIEI类型对可以经由Internet传输的文件格式进行了分类)。下面是一个对象的格式示例:

<object type=”application/x-java-applet”height=”300” width=”400”></object>

applet的code和codebase没有作为参数指定,相反,这两个参数被放置在<object>和</object>标记之间。

下面的HTML5标记可以显示一个applet:

<object type=”application/x-java-applet”height=”300” width=”400”>

<param name=”code” value=”stripYahtzee”/>

<param name=”codebase” value=”javadir”/>

<p>Sorry,no dice</p>

</object>

读书人网 >Web前端

热点推荐