- 1、本文档共57页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
list22
第22章 使用AWT控件、布局管理器和菜单
本章继续介绍抽象窗口工具包(AWT)。在这里我们将要学习Java定义的标准控件和布局管理器,讨论菜单和菜单栏,以及两个高级组件:对话框和文件对话框。同时,还要介绍事件处理。
控件(controls)是允许用户同你的应用程序用各种方式进行交互的组件,例如,一个常用的控件是下压式按钮。布局管理器自动安排组件在容器中的位置。这样,窗口的外观就可以由它所包含的控件来决定,并可以通过布局管理器来排放各个控件。
除了这些控件以外,框架窗口也能包含一个标准形式的菜单栏。每进入一个菜单栏就会激发一个下拉式菜单选项,用户可以从中选择。菜单栏总是位于窗口的顶部。虽然外观不同,但菜单栏与其他控件的处理方式是大致相同的。
虽然手工定位窗口中的组件是可能的,但做起来十分枯燥。布局管理器会自动完成此项任务。本章的第一节将介绍各种不同的控件,在这里将用到默认的布局管理器,该管理器使用从左到右、从上到下的方式来组织容器里的控件。一旦控件被覆盖,布局管理器将被检查。通过学习你将了解如何更好的管理控件的位置。
22.1 基 本 控 件
AWT支持下列类型的控件:
· 标签
· 下压式按钮
· 复选框
· 选择列表
· 列表框
· 滚动条
· 文本框
这些控件是Component的子类。
22.1.1 增加和删除控件
为了在窗口中包含一个控件,你必须将它加入窗口。实际上,你必须首先生成所需控件的实例,然后通过调用add()方法将它加入到窗口中,此方法是在Container类中定义的。Add()方法有几种形式。下面这种形式是本章前面部分所用到的:
Component add(Component compObj)
在这里,参数compObj是你将要加入的控件的一个实例,执行以上语句后一个compObj对象的引用被返回。一旦一个控件被加入,无论何时,只要父窗口被显示,它都会自动显示出来。
有时,当控件不再需要时,需要将它从窗口中删除。为此,你可以调用remove()方法。这个方法也是在Container类中定义的,如下所示:
void remove(Component obj)
在这里,参数obj是一个对你想要删除的控件的引用。你可以通过调用removeAll()方法删除所有的控件。
22.1.2 对控件的响应
除了标签这种被动的控件之外,所有的控件被用户访问时都会产生事件。例如,当用户点击按钮时,一个与下压式按钮有关的相应事件就被送出。一般来说,你的程序只需简单地实现相应的接口,并为每个你要监听的控件注册一个事件监听器。在第20章中我们介绍过,一旦一个事件监听器被安装,相应的事件就会被自动地发送给它。在下面几节中,对每一个控件都指定了相应的接口。
22.2 标 签
使用起来最简单的控件是标签。标签是Label类的对象,它包含了要显示的字符串。标签是被动的控件,不支持与用户的交互。Label类定义了以下的构造函数:
Label(?)
Label(String str)
Label(String str, int how)
第一种形式生成一个空白标签;第二种形式生成一个包含由参数str所设定的字符串的标签,这个字符串是左对齐的;第三种形式生成一个包含由参数str所设定的字符串的标签,并由整数how决定了对齐方式。How的值必须为以下常量之一:Label.LEFT,Label.RIGHT或Label.CENTER。
你能通过使用setText()方法来设定或改变标签中的文本。通过调用getText()方法,你可以获得当前的标签。这些方法如下所示:
void setText(String str)
String getText(?)
对于方法setText()来说,参数str指定了新的标签。对于getText()方法来说,当前的标签中的文本被返回。
在标签中,你还可以通过调用setAlignment()方法来设定字符串的对齐方式。同时,你也可以通过调用getAlignment()方法来获得当前的对齐方式。这些方法如下所示:
void setAlignment(int how)
int getAlignment(?)
这里,整数how必须是前面介绍的对齐方式中的一种。
下面的例子生成了三个标签,并将它们加入到一个小应用程序中。
// Demonstrate Labels
import java.awt.*;
import java.applet.*;
/*
applet code=LabelDemo width=300 height=200
/applet
*/
public class LabelDemo extends applet {
public void init() {
Label one = new
您可能关注的文档
- 现代推销学复习题.doc
- 现代文阅读答题技巧 高考复习.doc
- 现代推销技巧讲义.doc
- 现代材料测试技术作业.doc
- 现代推行理论与实务.ppt
- 现代企业管理_06市场营销管理_学生提纲.doc
- 现代管理经济学3.doc
- 现场临时用电规划方案.doc
- 现代饭店概述.doc
- 现场作业管理.doc
- 四川省德阳市罗江中学2025届高三考前热身化学试卷含解析.doc
- 山东省枣庄现代实验学校2025届高三下学期第五次调研考试化学试题含解析.doc
- 吉林省长春市十一高中等九校教育联盟2025届高三一诊考试生物试卷含解析.doc
- 2025届江苏省盐城市伍佑中学高考仿真模拟化学试卷含解析.doc
- 2025届广西贺州中学高考冲刺押题(最后一卷)生物试卷含解析.doc
- 安徽省池州市贵池区2025届高三第一次模拟考试生物试卷含解析.doc
- 宁夏银川一中2025届高三(最后冲刺)化学试卷含解析.doc
- 广东省广州市增城区四校联考2025届高考压轴卷化学试卷含解析.doc
- 2025届邯郸市第一中学高考生物必刷试卷含解析.doc
- 2025届安徽省安庆市石化第一中学高考仿真卷化学试卷含解析.doc
文档评论(0)