1. 1、本文档共57页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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

文档评论(0)

bm5044 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档