Applet加载Java应用程序

王朝java/jsp·作者佚名  2006-01-09
宽屏版  字体: |||超大  

Applet加载Java应用程序

如何编写小应用程序(Applet)并把其嵌入到网页中去的问题在很多关于Java的书中均有讨论。在这里我们不再重复此类问题,而是讨论如何将一个小应用程序用做构件,并能让自己编写的应用程序正常地加载并运行Java小应用程序。

什么是小应用程序(Applet)

“Applet”(小应用程序)通常被认为是能嵌入互联网网页的有安全防护的应用程序。应该说这样的定义并不是很精确。下面让我们先来看看小应用程序的内涵。

图1 此图显示的是“SimpleApplet”作为独立应用程序运行的情景

小应用程序的基础类是java.applet.Applet类,它扩充自java.awt.Panel类,所以可以说小应用程序是一些面板(Panel)。而java.awt.Panel类又扩充自java.awt.Container类,所以也可以认为小应用程序是一些容器(Container)。再往下看,你会发现java.awt.Container 类扩充自java.awt.Component类,所以又可以说小应用程序(Applet)是一些构件(Component),这也就意味着小应用程序有能力处理各种事件,并能够被添加到各种容器中。

让小应用程序作为构件使用

在上面的讨论中,我们已明确了小应用程序Applet是构件(Container),这就意味着可采用适当的形式将小应用程序Applet嵌入到容器中去。

图2 用其他类将小应用程序加载入应用程序运行时的情景

1、用main()方法加载、运行小应用程序

要让小应用程序嵌入其他程序中,可按普通应用程序来使用,实现的关键在于:在main()方法里完成小应用程序的实例化,然后调用该小应用程序的init()和start()方法,并为该小应用程序创建一个新的框架,并把小应用程序纳入其中。源程序清单如下:

“SimpleApplet.java"

import java.applet.*;

import java.awt.*;

public class SimpleApplet extends Applet{

public static void main(String[] args){

Frame f=new Frame(″A frame!″);

SimpleApplet h=new SimpleApplet();

h.init();

h.start();

f.add(″Center″,h);

f.pack();

f.show();}

public void init(){

add(new Label(″I am a component″));}

}

2、用其他类加载小应用程序

小应用程序不一定非要作为应用程序的首要驱动者。如果有必要,其他类也能够加载、安装并运行一些小应用程序。下例将创建一框架(Frame),两次加载一个小应用程序。源程序清单分别如下:

“SimpleApplet.java"

import java.applet.*;

import java.awt.*;

public class SimpleApplet extends Applet{

public void init(){

add(new Label(″I am a component″));}

}

“Multi.java"

import java.applet.*;

import java.awt.*;

public class Multi extends Frame{

public static void main(String[] args){

Multi ma=new Multi(″frame″);

ma.resize(200,200);

ma.setLayout(new GridLayout(2,1));

ma.launchapplet();

ma.launchapplet();

ma.show();}

public Multi(String s){

super(s);}

void launchapplet(){

Applet theApplet=new SimpleApplet();

add(theApplet);

theApplet.init();

theApplet.start();}

}

说明:运行时,可先用JavaC命令编译“SimpleApplet.java",然后将编译后所得的“SimpleApplet.class"拷贝至“Multi.java"所在的目录下。最后用JavaC命令编译“Multi.java”,并用Java命令运行“Multi”即可。

通过上面的介绍,我们可以得出这样一个结论:小应用程序(Applet)不仅仅只是用于嵌入互联网网页的有安全防护的应用程序,小应用程序(Applet)也是可以作为构件加入到其他的应用程序中去。我们既可以在main()方法里完成小应用程序的实例化,也可在其他类中加载并运行一些小应用程序。这样在很多应用程序的设计过程中,如果我们能把别处已有的对象拿来直接插入其中加以使用,那将是多么有意义的事情!

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有