RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:9:30-18:00
你可能遇到了下面的问题
关闭右侧工具栏
Java: Applet 和应用程序【转载】
  • 作者:xiaoxiao
  • 发表时间:2020-12-23 10:59
  • 来源:未知

1. APPLET:运行在支持Java的Web浏览器内的JAVA小程序。????? ?浏览器将对Web页进行初始化和启动applet程序;当我们不需要显示该Web页时,浏览器将启动相应的方法终止applet程序的运行。1.1由下面四个方法来控制APPLET的运行:(1)init() ?打开带有applet的文档时,调用init()方法初始化applet(2)start() ?打开带有applet的文档时,在init()方法之后调用start()方法,启动applet(3)stop() ?关闭带有applet的文档时调用。注意:stop()总在destroy()方法之前被调用(4)destroy() ?关闭浏览器时调用。调用destroy()是为了整理曾经使用的资源 一个简单的applet例子://StarterApplet.javaimport java.applet.Applet;import java.awt.Label;public class StarterApplet extends Applet {private Label label;public void init() {System.out.println("Applet::init()");}public void start() {System.out.println("Applet::start()");label = new Label("Starter");add(label);}public void stop() {System.out.println("Applet::stop()");remove(label);}public void destroy() {System.out.println("Applet::destroy()");}}1.2要更新java.awt.Component的显示方式用下面三个方法:paint()  ?绘制构件repaint() ?尽可能早地调度构件的update方法调用update()  ?重画构件,默认方案为刷新屏幕并调用paint方法2.Java应用程序:在Java解释器中运行??与APPLET的区别:??(1)Java应用程序必须有main()方法??(2)Java应用程序需要有一个窗口,则它必须扩展AWT的Frame类??(3)Java应用程序没有与applet相同的安全性约束一个简单的应用程序例子://StarterApplication.javaimport java.awt.Event;import java.awt.Frame;import java.awt.event.*;import java.awt.Label;public class StarterApplication extends Frame {?public static void main(String args[]) {StarterApplication app =new StarterApplication("Starter Application");app.setSize(300,100);app.show ();System.out.println("StarterApplication::main()");}

public StarterApplication(String frameTitle) {super(frameTitle);add (new Label("Starter", Label.CENTER), "Center");//默认的布局管理器为BorderLayoutaddWindowListener(new WindowAdapter() {?public void windowClosing(WindowEvent event) {?dispose();?System.exit(0);?}});}}3.既是APPLET又是应用程序:既有main方法又extends Applet。//StarterCombined.javaimport java.applet.Applet;import java.awt.Event;import java.awt.Frame;import java.awt.Label;import java.awt.event.*;public class StarterCombined extends Applet {private Label label;public static void main(String args[]) {StarterCombinedFrame app =new StarterCombinedFrame("Starter Application");app.setSize(300,100);app.show ();System.out.println("StarterCombinedFrame::main()");}public void init() {System.out.println("Applet::init()");}public void start() {System.out.println("Applet::start()");label = new Label("Starter");add(label);}public void stop() {System.out.println("Applet::stop()");remove(label);}public void destroy() {System.out.println("Applet::destroy()");}}class StarterCombinedFrame extends Frame {public StarterCombinedFrame(String frameTitle) {super(frameTitle);StarterCombined applet = new StarterCombined();applet.start();add (applet, "Center");addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent event) {dispose();System.exit(0);} });}}由DOS中打印的文字看到:如果程序作为一个applet程序运行,那么main()方法将被忽略。小结:applet程序和应用程序都由Java解释器运行。应用程序在运行时必须建立自己的框架,而applet程序则是在支持Java的浏览器或appletviewer提供的框架内运行。因此,应用程序必须处理窗口关闭事件,而applet的运行则同浏览器或appletviewer控制。应用程序可自由地读写文件,而不可靠的applet程序则不允许执行这些操作。写后话:我觉得写的很肤浅。例子很简单,无吸引人处。可能才开始吧,但愿能渐入佳境。