分享
 
 
 

Java 2 图形设计卷II——第2章 applet和应用程序

王朝java/jsp·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

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

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

}

}

file://随便一个HTML文件如001.html,加入<applet code="StarterApplet.class" width=2000 height=2000></applet>

<html>

<title>Sample Applet</title>

<body>

<applet code="StarterApplet.class" width=800 height=600></applet>

</body>

</html>

file://命令行下输入: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程序则不允许执行这些操作。

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有