第4章图形用户界面设计优秀课件.ppt
《第4章图形用户界面设计优秀课件.ppt》由会员分享,可在线阅读,更多相关《第4章图形用户界面设计优秀课件.ppt(70页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第4章章 图形用户界面图形用户界面设计设计第1页,本讲稿共70页第第 4 章章 主要内容主要内容1、Applet及及awt类包类包2、文本组件及按钮类、文本组件及按钮类3、面板与布局管理、面板与布局管理4、事件处理、事件处理5、常用图形用户界面组件、常用图形用户界面组件第2页,本讲稿共70页4.1awt类包及类包及Applet4.1.1 AppletApplet是一个功能非常强大的能够是一个功能非常强大的能够嵌入到嵌入到HTML页面中,并在浏览器中自页面中,并在浏览器中自动执行的动执行的Java程序。当使用浏览器对程序。当使用浏览器对一个包含一个包含Applet的的Web页面进行浏览页面进行
2、浏览时,浏览器将从时,浏览器将从Web服务器下载服务器下载Applet程序到本地执行。程序到本地执行。第3页,本讲稿共70页1、Applet的定义的定义public class Applet extends Panel public Applet();public void start();public void stop();public URL getDocumentBase();第4页,本讲稿共70页2、Java Applet程序的一般形式程序的一般形式import java.applet.*;public 类名类名 extends Applet public void init();p
3、ublic void start();public void stop();public void destroy();4个生个生命周期命周期第5页,本讲稿共70页3、Java Applet程序的运行程序的运行第6页,本讲稿共70页4.1.2 awt类包类包(1)基本的窗口类:)基本的窗口类:Frame、Dialog(2)基本的)基本的GUI组件类:组件类:Button、Label、TextField、TextArea、Checkbox(3)基本的事件接口:)基本的事件接口:ActionListener、WindowListener、MouseListener、KeyListener(4)界面
4、布局控制类:)界面布局控制类:FlowLayout、BorderLayout、GridLayout、CardLayout(5)基本的绘图支持类:)基本的绘图支持类:Graphics、Canvas第7页,本讲稿共70页4.2文本组件及按钮类文本组件及按钮类第8页,本讲稿共70页4.2.1文本组件类文本组件类1、TextComponent 类类方法名方法名功能功能setText(String t)设设置文本内容置文本内容getText()获获取文本内容取文本内容isEdit()检测检测文本的可文本的可编辑编辑性性setEdit(Boolean b)检测检测文本的可文本的可编辑编辑性性getSele
5、ctedText()获获取取选选取文本内容取文本内容select(int selStart,intselEnd)选选取文本内容取文本内容第9页,本讲稿共70页2、TextField类类文本框文本框TextField 是对单行文本进行编辑是对单行文本进行编辑的组件。它用来接受用户的输入码或显的组件。它用来接受用户的输入码或显示可编辑的文本。示可编辑的文本。第10页,本讲稿共70页(2)创建文本框)创建文本框TextFieldtext=new TextField(String str);第11页,本讲稿共70页【例【例4-1】1./*TextField 类的简单示例类的简单示例 */2.impor
6、t java.applet.*;3.import java.awt.*;4.public class Example4_1 extends Applet5.6.TextField text1,text2,text3;7.public void init()8.9.text1=new TextField(输入密码:输入密码:,10);10.text1.setEditable(false);11.text2=new TextField(10);12.text2.setEchoChar(*);13.text3=new TextField(我是一个文本框我是一个文本框,20);14.add(text1
7、);/将文本框添加到将文本框添加到Applet中中15.add(text2);16.add(text3);17.text3.setText(重新设置了文本重新设置了文本);18.19.第12页,本讲稿共70页3、TextAear类类文本区文本区TextArea是对多行文本进行编辑是对多行文本进行编辑的组件,它拥有水平或垂直的滚动条的组件,它拥有水平或垂直的滚动条.TextArea txt1=new TextArea(行行,列列);第13页,本讲稿共70页4、标签、标签Label类类(1)创建标签)创建标签创建标签对象时应同时说明这个标创建标签对象时应同时说明这个标签中的字符串:签中的字符串:L
8、abel lb=new Label(“请输入姓名请输入姓名”);(2)常用方法)常用方法setText(String str)设置标签文本设置标签文本内容;内容;getText()获取标签文本内容。获取标签文本内容。第14页,本讲稿共70页4.2.2按钮(按钮(Button)类)类定义:定义:1.public class Button extends Component 2.3.public Button()4.public Button(String label)5.public String getLabel()6.public void setLabel(String label)7.p
9、ublic void addActionListener(ActionListener l)8.public void removeActionListener(ActionListener l)9.第15页,本讲稿共70页表表4.2 按钮按钮Button类常用方法类常用方法方法名方法名功能功能Button()构造方法构造方法Button(String label)构造方法构造方法getLabel()获获取取标签标签内容内容setLabel(String label)设设置置标签标签内容内容addActionListener(ActionListener l)设设置置监视监视器器第16页,本讲
10、稿共70页【例【例4-3】1./*构造按钮构造按钮*/2.import java.applet.*;3.import java.awt.*;4.public class Example5_3 extends Applet5.6.Button btn;7.public void init()8.btn=new Button(确定确定);9.add(btn);/把按钮加到把按钮加到Applet中中10.11.第17页,本讲稿共70页ActionListener接口接口 awt对这个接口的定义是:对这个接口的定义是:public interface ActionListener extends Ev
11、entListener public abstract void actionPerformed(ActionEvent e)第18页,本讲稿共70页设计处理事件的类时,就要实现这个接设计处理事件的类时,就要实现这个接口。其一般形式如下:口。其一般形式如下:class ClassName implements ActionListener btn.addActionListener(this);public abstract void actionPerformed(ActionEvent e)第19页,本讲稿共70页 通过实现通过实现ActionListener接口,使得监视器能知道事接口,
12、使得监视器能知道事件的发生。在件的发生。在Java 中,要求产生事件的组件向它的监视中,要求产生事件的组件向它的监视器注册,这样,事件源与监视器就建立了一个对应关系。器注册,这样,事件源与监视器就建立了一个对应关系。建立对应关系的语句如下:建立对应关系的语句如下:对象名对象名.addActionListener(ClassName);其中,对象是事件源,其中,对象是事件源,ClassName是监视器。是监视器。例如:例如:btn.addActionListener(this);这条语句的意思是:按钮对象(事件源)这条语句的意思是:按钮对象(事件源)btn向它向它的监视器(当前类)注册,也就是产
13、生事件的事件源对的监视器(当前类)注册,也就是产生事件的事件源对象向监视器注册。象向监视器注册。第20页,本讲稿共70页【例【例4-4】设计一个密码验证程序。】设计一个密码验证程序。1./*按钮动作事件按钮动作事件*/2.import java.applet.*;3.import java.awt.*;4.import java.awt.event.*;5.public class Example4_4 extends Applet implements ActionListener6.7.Label lb=new Label(“请输入密码请输入密码:”);8.TextField txt1=n
14、ew TextField(25);9.Button btn=new Button(确定确定);10.TextField txt2=new TextField(25);第21页,本讲稿共70页11.public void init()12.13.add(lb);14.add(txt1);15.txt1.setEchoChar(*);/设置掩码设置掩码16.add(btn);17.add(txt2);18.btn.addActionListener(this);19.20.public void actionPerformed(ActionEvent e)21.22.if(txt1.getText
15、().equals(abc)/比较字符串比较字符串23.txt2.setText(密码正确密码正确!);24.else25.txt2.setText(密码错误密码错误!);26.27.第22页,本讲稿共70页作业作业:设计一个序列号程序:设计一个序列号程序:当输满一节字符后自动把焦点当输满一节字符后自动把焦点跳到下一个文本框。跳到下一个文本框。XXXXXXXXXXXXXXX请输入序列号请输入序列号:XXXXX第23页,本讲稿共70页序列号算法序列号算法假设根据用户名计算序列号。假设根据用户名计算序列号。例如将用户输入的用户名的所有例如将用户输入的用户名的所有字母字母ASCII码乘码乘199再加
16、起来,如果用再加起来,如果用户名短于户名短于20位,补满位,补满20位,超过位,超过20位,位,只使用前只使用前20位。位。检验序列号的方法就是将根据用户输检验序列号的方法就是将根据用户输入的用户名计算一遍,然后对比计算出入的用户名计算一遍,然后对比计算出来的号码和用户输入的是否一致。来的号码和用户输入的是否一致。第24页,本讲稿共70页4.3面板与布局管理面板与布局管理第25页,本讲稿共70页4.3.1面板(面板(Panel)类)类 创建面板的一般步骤为:创建面板的一般步骤为:(1)创建面板对象:)创建面板对象:Panel myPanel=new Panel();(2)将面板添加到)将面板添
17、加到Applet容器中:容器中:add(myPanel);(3)把组件放置到面板上:)把组件放置到面板上:myPanel.add(组件组件);第26页,本讲稿共70页【例【例4-5】面板】面板Panel简单示例简单示例 1./*面板面板Panel简单示例简单示例*/2.import java.awt.*;3.public class Example4_5 extends java.applet.Applet4.5.Panel panel1,panel2;6.Button button1,button2,button3,button4;7.public void init()8.9.panel1
18、=new Panel();10.panel2=new Panel();11.add(panel1);add(panel2);/添加面板添加面板12.button1=new Button(Button1);13.button2=new Button(Button2);14.button3=new Button(Button3);15.button4=new Button(Button4);16.panel1.add(button1);panel1.add(button2);17.panel2.add(button3);panel2.add(button4);18.panel1.setBackgr
19、ound(Color.red);19.panel2.setBackground(Color.blue);20.21.第27页,本讲稿共70页4.3.2布局策略布局策略Java在在java.awt包中定义了包中定义了5种布局,种布局,它们分别是:它们分别是:FlowLayout、BorderLayout、CardLayout、GridLayout、GridBagLayout。设置布局的格式为:设置布局的格式为:容器对象容器对象.setLayout(布局策略布局策略);第28页,本讲稿共70页1、浮动布局、浮动布局FlowLayout 浮动布局是按照组件的顺序,用浮动布局是按照组件的顺序,用add
20、方法将组件从左至右在一行排列,方法将组件从左至右在一行排列,一行放不下时就自动换行。一行放不下时就自动换行。这是系统的默认的布局方式。这是系统的默认的布局方式。其设置的方法为:其设置的方法为:setLayout(new FlowLayout();第29页,本讲稿共70页2、边界布局、边界布局BorderLayoutBorderLayout类把容器划分成类把容器划分成5个区域,个区域,分别标记为分别标记为“North”、“South”、“West”、“East”和和“Center”。其设置的方法为:其设置的方法为:setLayout(new BorderLayout();中中北北西西南南东东第3
21、0页,本讲稿共70页【例【例4-6边界布局示例边界布局示例】1./*边界布局示例边界布局示例*/2.import java.awt.*;3.public class Example4_6 extends java.applet.Applet4.5.public void init()6.setLayout(new BorderLayout();7./将其他构件加入将其他构件加入8.add(East,new Button(东东);9.add(South,new Button(南南);10.add(West,new Button(西西);11.add(North,new Button(北北);12
22、.add(Center,new Button(中中);13.14.第31页,本讲稿共70页3、网格布局、网格布局GridLayoutGridLayout类以矩形网格形式对容器中的类以矩形网格形式对容器中的组件进行布局。容器被分成大小相等的组件进行布局。容器被分成大小相等的单元格,单元格的大小由最大的构件所单元格,单元格的大小由最大的构件所决定,用决定,用add方法将组件一行一行地从方法将组件一行一行地从左至右放置到布局的每个单元格中。左至右放置到布局的每个单元格中。其设置的方法为:其设置的方法为:setLayout(new GridLayout(int row,int cols);row是网格
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第4章 图形用户界面设计优秀课件 图形 用户界面 设计 优秀 课件
限制150内