java2图形设计,Java 2 图形设计卷II——第2章 applet和应用程序 (转)

Java 2 图形设计卷II——第2章 applet和应用程序 (转)[@more@]

学习笔记之 2 图形设计卷II——第2章 applet和应用

1.APPLET:运行在支持Java的内的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.java

import 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()");

}

}

便一个HTML如001.html,加入Sample Applet

令行下输入:appletviewer 001.html,看到了吧,当然也可以用浏览器看。再强调一遍stop()总在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.java

import 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");//默认的布局管理器为BorderLayout

addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent event) {

dispose();

System.exit(0);

}

});

}

}

3.既是APPLET又是应用程序:既有main方法又extends Applet。//StarterCombined.java

import 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程序则不允许这些操作。

写后话:我觉得写的很肤浅。例子很简单,无吸引人处。可能才开始吧,但愿能渐入佳境。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值