Java语言实用教程第8章.ppt
《Java语言实用教程第8章.ppt》由会员分享,可在线阅读,更多相关《Java语言实用教程第8章.ppt(76页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第8章章 图形用户界面图形用户界面8.1 组件组件8.2 组件布局管理组件布局管理8.3 事件处理方法事件处理方法习题习题GUI(graphicuserinterface)的的中中文文意意思思是是图图形形用用户户界界面面。在在GUI中中,用用户户可可以以看看到到什什么么就就操操作作什什么么,取取代代了了以以往往字字符符方方式式下下知知道道是是什什么么后后才才能能操操作作的的方方式式,极极大大地地方方便便了了用用户户对对计计算算机机的的操操作作,GUI现现在在已已经经成成为当前的编程标准。为当前的编程标准。Java语语言言可可以以编编写写出出良良好好的的图图形形用用户户界界面面,因因为为它它提
2、提供供了了图图形形用用户户界界面面所所需需要要的的基基本本组组件件,如如窗窗口口、按按钮钮、文文本本框框、选选择择框框、滚滚动动条条等等,Java类类库库java.awt包包含含了所有这些基本组件。了所有这些基本组件。本章的任务是了解图形用户界面基本组件的使用方法,本章的任务是了解图形用户界面基本组件的使用方法,了解如何使用布局管理器对组件进行管理,以及如何了解如何使用布局管理器对组件进行管理,以及如何使用使用Java的事件处理机制。的事件处理机制。组件(组件(Component)是构成是构成GUI的基本要素,通过对的基本要素,通过对不同事件的响应来完成和用户的交互或组件之间的交不同事件的响应
3、来完成和用户的交互或组件之间的交互。组件一般作为一个对象放置在容器互。组件一般作为一个对象放置在容器(Container)内,容器是能容纳和排列组件的对象,内,容器是能容纳和排列组件的对象,如如Applet、Panel、Frame等。组件通过容器的等。组件通过容器的add方方法加入到容器中。法加入到容器中。8.1组件组件1.创建标签创建标签标标签签(Label)的的功功能能是是显显示示单单行行的的字字符符串串,可可在在屏屏幕上显示一些提示性、说明性的文字。幕上显示一些提示性、说明性的文字。例例8.1创建标签,结果如图创建标签,结果如图8.1所示。所示。importjava.awt.*;impo
4、rtjava.applet.Applet;publicclassLabel1extendsAppletpublicvoidinit()Labellabel1=newLabel();Labellabel2=newLabel(欢迎你使用标签!欢迎你使用标签!);Labellabel3=newLabel(这是一个写标签的例子这是一个写标签的例子,Label.RIGHT);add(label1);add(label2);8.1.1标签标签add(label3);图图8.12.标签的构造方法标签的构造方法(1)Label()该该方方法法用用来来创创建建一一个个没没有有显显示示内内容容的的对象。对象。(2
5、)Label(Stringlabel)该该方方法法用用来来创创建建一一个个显显示示内容为内容为label的对象。的对象。(3)Label(Stringlabel,intalignment)该该方方法法除除了了用用来来创创建建一一个个显显示示内内容容为为label的的对对象象外外,还还设设置置了了Label的对齐方式。的对齐方式。Label的对齐方式有的对齐方式有3种,分别用种,分别用Label类的类的3个常量个常量LEFT、CENTER和和RIGHT来表示左对齐、居中对来表示左对齐、居中对齐和右对齐。齐和右对齐。3.标签的常用方法标签的常用方法(1)publicintgetAlignment(
6、)返回当前的对齐方式。返回当前的对齐方式。(2)publicStringgetText()返回当前显示的字符串。返回当前显示的字符串。(3)publicvoidsetAlignment(intalignment)设设置置对对齐方式。齐方式。(4)publicvoidsetText(Stringlabel)设置显示的字设置显示的字符串。符串。Java提供了标准按钮(提供了标准按钮(Button),),可带有文字标题。可带有文字标题。1.创建按钮创建按钮例例8.2创建按钮,结果如图创建按钮,结果如图8.2所示。所示。importjava.awt.*;importjava.applet.Applet
7、publicclassButton1extendsAppletButtonbutton=newButton(确定确定);publicvoidinit()add(button);8.1.2按钮按钮图图8.2在例在例8.2中,中,button是作为主类的一个对象成员创建是作为主类的一个对象成员创建的,因此,主类的所有方法都可以使用它。参数的,因此,主类的所有方法都可以使用它。参数“确确定定”指定了按钮上显示的标题。指定了按钮上显示的标题。2.按钮的构造方法按钮的构造方法(1)Button()创建一个没有标题的按钮。创建一个没有标题的按钮。(2)Button(Stringlabel)创创建建一一个个
8、有有显显示示标标题题的的按按钮。钮。3.按钮的常用方法按钮的常用方法(1)publicStringgetLabel()返回按钮的显示标题。返回按钮的显示标题。(2)publicvoidsetLabel(Stringlabel)设置按钮上设置按钮上的显示标题。的显示标题。选项框(选项框(Choice)又称下拉式列表。这种选项框一次又称下拉式列表。这种选项框一次只能显示一个选项,要改变被选中的选项,可以单击只能显示一个选项,要改变被选中的选项,可以单击下拉箭头,从选项框中选择一个选项。下拉箭头,从选项框中选择一个选项。8.1.3选项框选项框1.创建选项框创建选项框例例8.3创建选项框,结果如图创建
9、选项框,结果如图8.3所示。所示。importjava.awt.*;importjava.applet.Applet;publicclassChoice1extendsAppletpublicvoidinit()Labellabel=newLabel(选项框的例子选项框的例子);Choicec=newChoice();c.addItem(北北京京);c.addItem(上上海海);c.addItem(天天津津);c.addItem(南南京京);c.addItem(郑郑州州);c.addItem(武武汉汉);add(c);add(label);图图8.32.选项框的常用方法选项框的常用方法(1)
10、publicvoidaddItem(Stringitem)向向选选项项框框中中加入选项加入选项item。(2)publicintcountItem()返返回回选选项项框框中中的的选选项项个个数。数。(3)publicStringgetItem(intindex)返返回回指指定定下下标标值的某个选项。值的某个选项。(4)publicintgetSelectIndex()返返回回被被选选中中的的选选项项的下标值。的下标值。(5)publicStringgetSelectItem()返返回回被被选选中中的的选选项。项。(6)publicvoidselect(intpos)选选择择指指定定下下标标值值
11、的的选选项。项。(7)publicvoidselect(Stringstr)选择指定的选项。选择指定的选项。复选框(复选框(Checkbox)可以让用户作出多项选择。选可以让用户作出多项选择。选项按钮(项按钮(CheckboxGroup)又称单选框,是一组按又称单选框,是一组按钮,用户只能选择其中的一个。钮,用户只能选择其中的一个。8.1.4复选框和选项按钮复选框和选项按钮1.创建复选框创建复选框例例8.4创建复选框,结果如图创建复选框,结果如图8.4所示。所示。图图8.4例例8.4创建复选框,结果如图创建复选框,结果如图8.4所示。所示。importjava.awt.*;importjava
12、.applet.Applet;publicclassCheck1extendsAppletfinalstaticintCITY_NUM=6;Stringcity=北京北京,上海上海,天津天津,南京南京,郑州郑州,武汉武汉;Checkboxc=newCheckbox6;Labellabel=newLabel(这是一个复选框的例子这是一个复选框的例子);publicvoidinit()add(newLabel(请选择中国的大城市:请选择中国的大城市:);for(inti=0;iCITY_NUM;i+)ci=newCheckbox(cityi);add(ci);add(label);例例8.5创建选
13、项按钮,结果如图创建选项按钮,结果如图8.5所示。所示。importjava.awt.*;importjava.applet.Applet;publicclassCheck2extendsAppletfinalstaticintCITY_NUM=6;Stringcity=北京北京,上海上海,天津天津,南京南京,郑州郑州,武汉武汉;Checkboxradio=newCheckbox6;Labellabel=newLabel(这是一个选项按钮的例子这是一个选项按钮的例子);publicvoidinit()CheckboxGroupc=newCheckboxGroup();add(newLabel(
14、请选择中国最大的城市:请选择中国最大的城市:);for(inti=0;iCITY_NUM;i+)radioi=newCheckbox(cityi,c,false);add(radioi);add(label);图图8.52.复选框和选项按钮的构造方法复选框和选项按钮的构造方法(1)Checkbox()创建一个没有标签的复选框。创建一个没有标签的复选框。(2)Checkbox(北京北京)创建有标签的复选框。创建有标签的复选框。(3)CheckboxGroup()创建选项按钮。创建选项按钮。要要 生生 成成 选选 项项 按按 钮钮,必必 须须 先先 生生 成成 一一 个个 类类CheckboxGr
15、oup的对象,例如:的对象,例如:checkboxGroup1=newCheckboxGroup();然后再使用下面的语句:然后再使用下面的语句:checkbox1=newCheckbox(Radio,checkboxGroup1,false);其中第一个参数是选项按钮的标签,第二个参数是选其中第一个参数是选项按钮的标签,第二个参数是选项按钮对象,第三个参数表示该选项按钮创建时,是项按钮对象,第三个参数表示该选项按钮创建时,是否被选中(否被选中(true表示选中)。表示选中)。3.复选框和选项按钮的常用方法复选框和选项按钮的常用方法(1)publicCheckboxGroupgetCheckb
16、oxGroup()返回选项按钮所属的复选框组。返回选项按钮所属的复选框组。(2)publicStringgetLabel()返返回回复复选选框框或或选选项项按按钮的标签。钮的标签。(3)publicBooleangetState()返返回回复复选选框框或或选选项项按按钮是否被选中。钮是否被选中。(4)public void setCheckboxGroup(CheckboxGroupg)设置选项按钮所属复选框组。设置选项按钮所属复选框组。(5)publicvoidsetLabel(Stringlabel)设设置置复复选选框框或选项按钮的标签。或选项按钮的标签。(6)publicvoidsetS
17、tate(Booleanstate)设设置置复复选选框框或选项按钮被选中与否。或选项按钮被选中与否。列表框(列表框(List)可以使用户选择多个选项。列表框的可以使用户选择多个选项。列表框的所有选项都是可见的,如果选项数目超出了列表框可所有选项都是可见的,如果选项数目超出了列表框可见区的范围,则列表框右边会出现一个滚动条。见区的范围,则列表框右边会出现一个滚动条。8.1.5列表框列表框例例8.6创建列表框、添加选项,结果如图创建列表框、添加选项,结果如图8.6所示。所示。图图8.6importjava.awt.*;importjava.applet.Applet;publicclassList
18、1extendsAppletListlist1=newList();Listlist2=newList(6,true);publicvoidinit()add(newLabel(这是一个列表框的例子这是一个列表框的例子);list1.add(长江长江);list1.add(黄河黄河);list1.add(淮河淮河);add(list1);list2.add(北京大学北京大学);list2.add(清华大学清华大学);list2.add(吉林大学吉林大学);list2.add(复旦大学复旦大学);list2.add(南开大学南开大学);list2.add(天津大学天津大学);list2.add(
19、南京大学南京大学);add(list2);说明:说明:构造方法中的第一个参数指定了在列表框里显示选项构造方法中的第一个参数指定了在列表框里显示选项的个数。第二个参数若为的个数。第二个参数若为false,表示这个列表框是单表示这个列表框是单选的,若为选的,若为true,则表示是多选的。无参构造方法将则表示是多选的。无参构造方法将创建一个默认大小的列表框。创建一个默认大小的列表框。文文本本框框(TextField)用用来来接接受受用用户户键键盘盘输输入入的的单单行行文文本信息。本信息。1.创建文本框创建文本框例例8.7创建两个不同的文本框,结果如图创建两个不同的文本框,结果如图8.7所示。所示。i
20、mportjava.awt.*;importjava.applet.Applet;publicclassText1extendsAppletpublicvoidinit()add(newLabel(用户名用户名);add(newTextField(请输入用户名请输入用户名,20);add(newLabel(口令口令);add(newTextField(20);8.1.6文本框文本框图图8.72.文本框的构造方法文本框的构造方法(1)TextField()创建一个默认长度的文本框。创建一个默认长度的文本框。(2)TextField(intcolumns)创创建建一一个个指指定定长长度度的的文文本
21、框。本框。(3)TextField(Stringtext)创创建建一一个个带带有有初初始始文文本本内容的文本框。内容的文本框。(4)TextField(Stringtext,intcolumns)创创建建一一个个带带有初始文本内容并具有指定长度的文本框。有初始文本内容并具有指定长度的文本框。3.文本框的常用方法文本框的常用方法(1)publicvoidsetEchoChar(charc)设设定定用用户户输输入入字字符符的的回回显显字字符符,例例如如输输入入口口令令时时可可设设定定回回显显字字符符“*”来屏蔽。来屏蔽。(2)publicvoidsetText(Stringt)设定文本框的文本设定
22、文本框的文本内容。内容。与与文文本本框框只只显显示示一一行行不不同同,文文本本区区(TextArea)可可以以显示大段的文本。显示大段的文本。1.创建文本区创建文本区例例8.8创建两个不同的文本区,结果如图创建两个不同的文本区,结果如图8.8所示。所示。importjava.awt.*;importjava.applet.Applet;publicclassTextAreaDemoextendsAppletpublicvoidinit()TextAreata1=newTextArea(这里是文本区这里是文本区1,8,20);add(ta1);ta1.setEditable(false);Tex
23、tAreata2=newTextArea(这里是文本区这里是文本区2,8,20);add(ta2);8.1.7文本区文本区ta2.setEditable(true);图图8.82.文本区的构造方法文本区的构造方法(1)TextArea()创建一个默认大小的文本区。创建一个默认大小的文本区。(2)TextArea(introws,intcolumns)创创建建一一个个指指定定行和列数的文本区。行和列数的文本区。(3)TextArea(Stringtext)创创建建一一个个带带有有初初始始文文本本内容的文本区。内容的文本区。(4)TextArea(Stringtext,introws,intcol
24、umns)创创建建一一个个带带有有初初始始文文本本内内容容并并具具有有指指定定行行和和列列数数的的文文本本区。区。(5)TextArea(Stringtext,introws,intcolumns,intscrollbars)在(在(4)的基础上添加滚动条。)的基础上添加滚动条。3.文本区的常用方法文本区的常用方法(1)publicvoidappend(Stringstr)在在文文本本区区尾尾部部添添加文本。加文本。(2)publicvoidinsert(Stringstr,intpos)在在文文本本区区指定位置插入文本。指定位置插入文本。(3)publicvoidsetText(String
25、t)设定文本区内容。设定文本区内容。(4)publicintgetRows()返回文本区的行数。返回文本区的行数。(5)publicvoidsetRows(introws)设设定定文文本本区区的的行行数。数。(6)publicintgetColumns()返回文本区的列数。返回文本区的列数。(7)publicvoidsetColumns(intcolumns)设设定定文文本本区的列数。区的列数。(8)publicvoidsetEditable(booleanb)设设定定文文本本区区的可编辑状态。的可编辑状态。从上面创建组件的例子可以知道,要创建组件先要创从上面创建组件的例子可以知道,要创建组件
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 语言 实用教程
限制150内