第2章 图形用户界面设计PPT讲稿.ppt
《第2章 图形用户界面设计PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《第2章 图形用户界面设计PPT讲稿.ppt(79页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第2章图形用户界面设计第1页,共79页,编辑于2022年,星期一第2章主要内容2.1.Applet及awt类包2.2文本组件及按钮类2.3.面板与布局管理2.4.事件处理2.5.常用图形用户界面组件2.6.Swing组件第2页,共79页,编辑于2022年,星期一2.1.1AppletApplet是一个功能非常强大的能够嵌入到HTML页面中,并在浏览器中自动执行的Java程序。当使用浏览器对一个包含Applet的Web页面进行浏览时,浏览器将从Web服务器下载Applet程序到本地执行。2.1awt类包及Applet第3页,共79页,编辑于2022年,星期一什么是AppletApplet就是使用
2、Java语言编写的一段代码,它可以在浏览器环境中运行。它与Application的区别主要在于其执行方式的不同。application是从其中的main()方法开始运行的Applet是在浏览器中运行的,必须创建一个HTML文件,通过编写HTML语言代码告诉浏览器载入何种Applet以及如何运行。第4页,共79页,编辑于2022年,星期一执行Applet用浏览器打开嵌入Applet的HTML文件或者用JDK自带的命令行工具appletviewer打开HTML文件appletviewerhello.html第5页,共79页,编辑于2022年,星期一Applet的执行过程浏览器载入要访问的HTML文
3、件的URL地址。浏览器装入HTML文件浏览器载入Applet的类字节代码启动Java虚拟机执行Applet。第6页,共79页,编辑于2022年,星期一Java.applet.Applet类java.lang.Object|+-java.awt.Component|+-java.awt.Container|+-java.awt.Panel|+-java.applet.Applet第7页,共79页,编辑于2022年,星期一Applet中的主要方法init()在Applet创建时被虚拟机自动调用,用来完成数据的初始化。start()init()方法被调用之后,接着调用start()方法;每次Appl
4、et被激活时,都会调用start()方法。第8页,共79页,编辑于2022年,星期一stop()方法其被调用时机与start()方法相反,每次Applet由活动状态变为不活动状态时,都会自动调用stop()方法。destroy()方法Applet销毁时由虚拟机自动调用的方法,用来完成所有占用资源的释放。第9页,共79页,编辑于2022年,星期一Applet的定义publicclassAppletextendsPanelpublicApplet();publicvoidstart();publicvoidstop();publicURLgetDocumentBase();第10页,共79页,编辑
5、于2022年,星期一JavaApplet程序的一般形式importjava.applet.*;public类名extendsAppletpublicvoidinit();publicvoidstart();publicvoidstop();publicvoiddestroy();第11页,共79页,编辑于2022年,星期一JavaApplet程序的运行第12页,共79页,编辑于2022年,星期一2.1.2awt类包(1)基本的窗口类:Frame、Dialog(2)基本的GUI组件类:Button、Label、TextField、TextArea、Checkbox(3)基本的事件接口:Actio
6、nListener、WindowListener、MouseListener、KeyListener(4)界面布局控制类:FlowLayout、BorderLayout、GridLayout、CardLayout(5)基本的绘图支持类:Graphics、Canvas第13页,共79页,编辑于2022年,星期一2.2文本组件及按钮类第14页,共79页,编辑于2022年,星期一2.2.1文本组件类1、TextComponent类方法名功能setText(String t)设置文本内容getText()获取文本内容isEdit()检测文本的可编辑性setEdit(Boolean b)检测文本的可编辑
7、性getSelectedText()获取选取文本内容select(int selStart,intselEnd)选取文本内容第15页,共79页,编辑于2022年,星期一2、TextField类文本框TextField是对单行文本进行编辑的组件。它用来接受用户的输入码或显示可编辑的文本。创建文本框TextFieldtext=newTextField(Stringstr);第16页,共79页,编辑于2022年,星期一【例2-1】1./*TextField类的简单示例*/2.importjava.applet.*;3.importjava.awt.*;2.publicclassExample2_1e
8、xtendsApplet5.6.TextFieldtext1,text2,text3;7.publicvoidinit()8.9.text1=newTextField(输入密码:,10);10.text1.setEditable(false);11.text2=newTextField(10);12.text2.setEchoChar(*);13.text3=newTextField(我是一个文本框,20);12.add(text1);/将文本框添加到Applet中15.add(text2);16.add(text3);17.text3.setText(重新设置了文本);18.19.第17页,
9、共79页,编辑于2022年,星期一3、TextAear类文本区TextArea是对多行文本进行编辑的组件,它拥有水平或垂直的滚动条.TextAreatxt1=newTextArea(行,列);第18页,共79页,编辑于2022年,星期一4、标签Label类(1)创建标签创建标签对象时应同时说明这个标签中的字符串:Labellb=newLabel(“请输入姓名”);(2)常用方法setText(Stringstr)设置标签文本内容;getText()获取标签文本内容。第19页,共79页,编辑于2022年,星期一2.2.2按钮(Button)类定义:1.publicclassButtonexten
10、dsComponent2.3.publicButton()2.publicButton(Stringlabel)5.publicStringgetLabel()6.publicvoidsetLabel(Stringlabel)7.publicvoidaddActionListener(ActionListenerl)8.publicvoidremoveActionListener(ActionListenerl)9.第20页,共79页,编辑于2022年,星期一表2.2按钮Button类常用方法方法名功能Button()构造方法Button(String label)构造方法getLabel()
11、获取标签内容setLabel(String label)设置标签内容addActionListener(ActionListener l)设置监听器第21页,共79页,编辑于2022年,星期一【例2-3】1./*构造按钮*/2.importjava.applet.*;3.importjava.awt.*;2.publicclassExample5_3extendsApplet5.6.Buttonbtn;7.publicvoidinit()8.btn=newButton(确定);9.add(btn);/把按钮加到Applet中10.11.第22页,共79页,编辑于2022年,星期一ActionL
12、istener接口awt对这个接口的定义是:publicinterfaceActionListenerextendsEventListenerpublicabstractvoidactionPerformed(ActionEvente)第23页,共79页,编辑于2022年,星期一注意:设计处理事件的类时,就要实现这个接口。其一般形式如下:classClassNameimplementsActionListenerbtn.addActionListener(this);publicabstractvoidactionPerformed(ActionEvente)第24页,共79页,编辑于2022
13、年,星期一事件监听器通过实现ActionListener接口,使得监听器能知道事件的发生。在Java中,要求产生事件的组件向它的监听器注册,这样,事件源与监听器就建立了一个对应关系。建立对应关系的语句如下:对象名.addActionListener(ClassName);其中,对象是事件源,ClassName是监听器。例如:btn.addActionListener(this);这条语句的意思是:按钮对象(事件源)btn向它的监听器(当前类)注册,也就是产生事件的事件源对象向监听器注册。第25页,共79页,编辑于2022年,星期一【例2-2】设计一个密码验证程序。1./*按钮动作事件*/2.i
14、mportjava.applet.*;3.importjava.awt.*;2.importjava.awt.event.*;5.publicclassExample2_2extendsAppletimplementsActionListener6.7.Labellb=newLabel(“请输入密码:”);8.TextFieldtxt1=newTextField(25);9.Buttonbtn=newButton(确定);10.TextFieldtxt2=newTextField(25);第26页,共79页,编辑于2022年,星期一11.publicvoidinit()12.13.add(lb
15、);12.add(txt1);15.txt1.setEchoChar(*);/设置掩码16.add(btn);17.add(txt2);18.btn.addActionListener(this);19.20.publicvoidactionPerformed(ActionEvente)21.22.if(txt1.getText().equals(abc)/比较字符串23.txt2.setText(密码正确!);22.else25.txt2.setText(密码错误!);26.27.第27页,共79页,编辑于2022年,星期一实践作业:设计一个序列号程序:当输满一节字符后自动把焦点跳到下一个文
16、本框。XXXXXXXXXXXXXXX请输入序列号请输入序列号:XXXXX第28页,共79页,编辑于2022年,星期一序列号算法假设根据用户名计算序列号。例如将用户输入的用户名的所有字母ASCII码乘199再加起来,如果用户名短于20位,补满20位,超过20位,只使用前20位。检验序列号的方法就是将根据用户输入的用户名计算一遍,然后对比计算出来的号码和用户输入的是否一致。第29页,共79页,编辑于2022年,星期一2.3面板与布局管理第30页,共79页,编辑于2022年,星期一2.3.1面板(Panel)类创建面板的一般步骤为:(1)创建面板对象:PanelmyPanel=newPanel();
17、(2)将面板添加到Applet容器中:add(myPanel);(3)把组件放置到面板上:myPanel.add(组件);第31页,共79页,编辑于2022年,星期一【例2-5】面板Panel简单示例1./*面板Panel简单示例*/2.importjava.awt.*;3.publicclassExample2_5extendsjava.applet.Applet2.5.Panelpanel1,panel2;6.Buttonbutton1,button2,button3,button2;7.publicvoidinit()8.9.panel1=newPanel();10.panel2=new
18、Panel();11.add(panel1);add(panel2);/添加面板12.button1=newButton(Button1);13.button2=newButton(Button2);12.button3=newButton(Button3);15.button2=newButton(Button2);16.panel1.add(button1);panel1.add(button2);17.panel2.add(button3);panel2.add(button2);18.panel1.setBackground(Color.red);19.panel2.setBackgr
19、ound(Color.blue);20.21.第32页,共79页,编辑于2022年,星期一2.3.2布局策略Java在java.awt包中定义了5种布局,它们分别是:FlowLayout、BorderLayout、CardLayout、GridLayout、GridBagLayout。设置布局的格式为:容器对象.setLayout(布局策略);第33页,共79页,编辑于2022年,星期一1.浮动布局FlowLayout浮动布局是按照组件的顺序,用add方法将组件从左至右在一行排列,一行放不下时就自动换行。这是系统的默认的布局方式。其设置的方法为:setLayout(newFlowLayout(
20、);第34页,共79页,编辑于2022年,星期一2.边界布局BorderLayoutBorderLayout类把容器划分成5个区域,分别标记为“North”、“South”、“West”、“East”和“Center”。其设置的方法为:setLayout(newBorderLayout();中中北北西西南南东东第35页,共79页,编辑于2022年,星期一【例2-6边界布局示例】1./*边界布局示例*/2.importjava.awt.*;3.publicclassExample2_6extendsjava.applet.Applet2.5.publicvoidinit()6.setLayout
21、(newBorderLayout();7./将其他构件加入8.add(East,newButton(东);9.add(South,newButton(南);10.add(West,newButton(西);11.add(North,newButton(北);12.add(Center,newButton(中);13.12.第36页,共79页,编辑于2022年,星期一3.网格布局GridLayoutGridLayout类以矩形网格形式对容器中的组件进行布局。容器被分成大小相等的单元格,单元格的大小由最大的构件所决定,用add方法将组件一行一行地从左至右放置到布局的每个单元格中。其设置的方法为:s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第2章 图形用户界面设计PPT讲稿 图形 用户界面 设计 PPT 讲稿
限制150内