Chapter 15
AWT 窗口对象
本章基本内容
从本章开始,将涉及Java的窗口程序设计。通过图形接口(graphic interface),可以设计出更美观、更贴心的程序。
在本章里,可以学到以Java的AWT类来编写窗口的组件,同时更可以了解到OOP的概念是如何应用到窗口程序设计中的。
15-1 认识AWT类
在Java里,AWT (Abstract Windowing Toolkit)是用来处理图形(包含窗口与绘图)最基本的方式,它可以用来创建Java的applet及窗口程序。AWT是Java早期的技术,它的每一个组件会耗掉较多的资源,因此当窗口组件(如按钮(button)、滚动条(scroll bar)或文本框(text field) )一多时,这种架构下的窗口程序会耗掉更多的资源,因此SUN现在已开发出Swing类库,它不但改进了AWT耗费系统资源的缺点,同时在视觉上也比AWT来得更为美观。
SWING组件
Swing可以说是Java未来的架构。Swing所提供组件的数目远超过AWT的组件,并且每一个AWT的组件都有Swing组件取代它。目前SUN已经不再扩充AWT,而致力发展Swing。有趣的是,AWT并不会因此而消失,因为Swing是基于AWT而发展的,所有Swing的组件均是以AWT的Container类为基础来开发设计的,因此Swing的关键技术在于AWT,要了解Swing的技术必须先了解AWT的技术才行。再者,目前AWT的使用仍相当普及,许多Java相关的应用程序均是以AWT来开发的,所以要了解Java的窗口程序设计,还是必须从AWT熟悉起。
15-1-1 简单的范例
我们暂且看一个简单的窗口程序设计的范例。它比较简单,只显示一个上了黄色的窗口,上头秀出了“Hello Java!!”的字符串以及标题列上有“my first AWT program”字样。
代码如下:
1 // app15_1, AWT简单的范例(一)
2 import .*; //
3 public class app15_1
{//类app15_1的数据成员,注意我们以下为类变量
static Frame frm=new Frame("my first AWT program");
6 static Label lab=new Label("Hello Java!!");
7 //可执行程序入口方法
8 public static void main(String args[])
9 { //下面为实例变量调用方法设置Frame属性
// 设置窗口的长为200、宽为150个像素
10 (200,150);
11 (); // 设置黄色的背景
12 (250,250); // 设置窗口的位置
13 (lab); // 将标签对象lab加入窗口中
14 (true); // 将窗口显示出来
15 }
16 }
程序说明:
第5行的变量frm与第6行的变量lab均是类的数据成员(data member)
第8行的main() 方法是类的函数成员(function member)
第9~13行均利用frm对象调用方法来设置窗口的属性
程序的扩展与改写
上一程序不一定要把frm与lab这两个变量设成“类变量”,把它移到main() 方法内,这两个变量自然就不用声明成static,如此就变成了在方法里的一般变量了,但这个程序依然可以正确的运行。
可以利用继承的方式,把上例中的类app15_2直接继承自Frame类, 于是app15_2类不但继承了Frame类的所有数据成员与方法,同时也加进了自己的成员(即main() 方法)。这样,便可利用app15_2类直接声明并定义对象
15-1-2 窗口对象的类简介
前面使用了AWT类中的两个组件,一个是窗口(frame),一个是标签(label), :
窗口对象的类
【计算机】15 AWT 窗口对象 来自淘豆网m.daumloan.com转载请标明出处.