- 1、本文档共47页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
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 java.awt.*; // 加载java.awt类库里的所有类 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 frm.setSize(200,150); 11 frm.setBackground(Color.yellow); // 设置黄色的背景 12 frm.setLocation(250,250); // 设置窗口的位置 13 frm.add(lab); // 将标签对象lab加入窗口中 14 frm.setVisible(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),它们分属于java.awt类库里的Frame与Lable类 java.awt类库提供了如下类以及它们之间的继承关系 : 窗口对象的类 Component类的一些常用方法 setSize(int width,int height)
文档评论(0)