最新Java面向对象程序设计与系统开发第13章 功能拓展-GUI(共41张PPT课件).pptx

上传人:豆**** 文档编号:24510400 上传时间:2022-07-05 格式:PPTX 页数:41 大小:7.81MB
返回 下载 相关 举报
最新Java面向对象程序设计与系统开发第13章 功能拓展-GUI(共41张PPT课件).pptx_第1页
第1页 / 共41页
最新Java面向对象程序设计与系统开发第13章 功能拓展-GUI(共41张PPT课件).pptx_第2页
第2页 / 共41页
点击查看更多>>
资源描述

《最新Java面向对象程序设计与系统开发第13章 功能拓展-GUI(共41张PPT课件).pptx》由会员分享,可在线阅读,更多相关《最新Java面向对象程序设计与系统开发第13章 功能拓展-GUI(共41张PPT课件).pptx(41页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、面向对象程序设计与面向对象程序设计与系统系统(xtng)开发开发第13章 功能(gngnng)拓展-GUI第一页,共四十一页。2驱动驱动(q dn)任务一任务一采用(ciyng)GUI的常用容器和组件设计如下的程序界面第二页,共四十一页。3目标目标(mbio)及知识点及知识点GUI容器和容器和组组件的基本概念件的基本概念1 1GUI容器和容器和组组件的使用件的使用2第三页,共四十一页。GUI概述概述(i sh)vGUI(Graphical User Interface)的中文意思是图形用户界面。允许用户以图形的方式与系统进行互动。在GUI推广(tugung)之前,用户通常要以文本命令的方式来控

2、制计算机。GUI直观的将计算机的功能呈现给用户,降低了用户使用计算机的门槛。v 抽象窗口工具包: java.awt:提供基本GUI组件,视觉控制,绘图工具等 java.awt.event:事件处理 4第四页,共四十一页。AWT和和SwingvAbstract Windows Toolkit(AWT)是最原始的 Java GUI 工具包。AWT 的主要优点是,它在 Java 技术的每个版本上都成为了一种标准配置,包括早期的 Web 浏览器中的 Java 实现vSwing 是在 AWT 组件基础上构建的。所有 Swing 组件实际上也是 AWT 的一部分。Swing 使用了 AWT 的事件模型和支

3、持类,例如(lr) Colors、Images 和 Graphics。Swing 组件、布局管理器以及事件。5第五页,共四十一页。AWT和和Swing的常用组件的常用组件(z jin)与容器对应表与容器对应表功能AWTSwing按钮ButtonJButton标签LabelJLabel下拉选项框ChoiceJComboBox滚动列表ListJList复选框(含单选框)CheckboxJCheckBox,JRadioButton文本框(单行)TextFieldJTextField文本框(多行)TextAreaJTextArea菜单MenuJMenu以下为常用容器面板PanelJPanel对话框Di

4、alogJDialog窗体框架FrameJFrame6第六页,共四十一页。容器容器(rngq)vAWT组件不能独立地显示出来,必须将组件放在一定的容器中才可以显示出来。类Container是所有容器的父类,常见容器类有窗体(Frame)、对话框(Dialog)、面板(Panel),他们的对象都可以使用方法add()向其中(qzhng)添加组件7第七页,共四十一页。窗体框架窗体框架(kun ji)(Frame)v 一个Frame对象就是一个常见的窗口(chungku),它包含有标题栏,可选菜单栏,边框,关闭、最大、最小化按钮v 常用方法:8第八页,共四十一页。【例【例13-1】创建】创建(chu

5、ngjin)一个窗体。一个窗体。v import java.awt.*;v public class exam13_1vpublic static void main(String args)vFrame f=new Frame(); /创建一个(y )框架对象fvf.setTitle(My Frame); /设定框架标题vf.setSize(250,200); /设定框架大小vf.setBackground(Color.green); /设定背景颜色vf.setVisible(true); /显示窗体vv 9第九页,共四十一页。DialogvDialog的对象就是一个对话框,主要用于接受用户

6、输入,它只能基于(jy)Frame对象或者另一个Dialog对象上进行显示v 常用方法10第十页,共四十一页。【例【例13-2】创建】创建(chungjin)模式对话模式对话框。框。import java.awt.*;public class exam13_2public static void main(String args)Frame frm = new Frame(Dialog 示例); Dialog dig = new Dialog(frm,对话框对话框,true); /模式对话框 frm.setBounds(100,100,200,100); /设置窗体位置和大小(dxio)。 d

7、ig.setBounds(305,100,200,100);/设置对话框位置和大小 frm.setVisible(true);/设置窗体为可见 dig.setVisible(true);/设置对话框为可见 11第十一页,共四十一页。面板面板(min bn)(Panel)v Panel 是最简单的容器类。和Frame一样,可以将其他组件放在面板提供的空间内,这些组件包括其他面板,但是和Frame不同的是,Panel(面板)不能生成对象(duxing)将窗口显示出来,它也必须要作为一个组件放到Frame、Window这样的顶层容器中使用v 常用方法12第十二页,共四十一页。【例【例13-3】演示面

8、板】演示面板(min bn)的使用。的使用。13import java.awt.*;public class exam13_3 extends Frame public static void main(String args) Button btn1=new Button(按按钮钮1);/按按钮组钮组件件Button btn2=new Button(按按钮钮2);/按按钮组钮组件件Panel panel=new Panel();/创创建一个建一个(y )面板面板Frame frame1=new Frame();/创创建一个窗体建一个窗体frame1.setBounds(100,100,200

9、,200);frame1.setBackground(Color.yellow);/设设置窗体的置窗体的颜颜色色frame1.setTitle(AWT Frame测试测试);/设设置窗体的置窗体的标题标题panel.add(btn1);/将按将按钮钮添加到面板中添加到面板中panel.add(btn2);/将按将按钮钮添加到面板中添加到面板中frame1.add(panel);/将面板添加到窗体中将面板添加到窗体中frame1.setVisible(true); /将窗体将窗体显现显现出来出来第十三页,共四十一页。组件组件(z jin)v 组件是以图形方式显示在屏幕上提供人机交互的对象 按钮按

10、钮(Button) 标签(标签(Label) 单行文本单行文本(wnbn)输入框(输入框(TextField) 多行输入框(多行输入框(TextArea) 下拉选项框(下拉选项框(Choice) 滚动列表滚动列表(List) 复选框(复选框(Checkbox) 复选框组复选框组(CheckboxGroup) 菜单(菜单(Menu)14第十四页,共四十一页。按钮按钮(Button)v 常用(chn yn)方法:15第十五页,共四十一页。【例【例13-4】演示】演示(ynsh)按钮的创建按钮的创建16import java.awt.*;public class exam13_4public sta

11、tic void main(String args) Frame f = new Frame();/创建一个窗体f.setTitle(我的GUI窗口);f.setLayout(null);/将窗体的布局方式去掉,布局我们后面将会讲到f.setSize(300, 300);/设置窗体的大小f.setBackground(Color.green);/设置窗体的颜色f.setVisible(true);/将窗体显示出来/ 按钮Button but1 = new Button(确定确定); /创建一个确定按钮Button but2 = new Button(取消取消(qxio); /创建一个取消按钮b

12、ut1.setBounds(40, 40, 80, 30); /设置按钮在窗体上的位置和大小but2.setBounds(40, 70, 80, 30); /设置按钮在窗体上的位置和大小f.add(but1);/将按钮添加到窗体上f.add(but2);/将按钮添加到窗体上第十六页,共四十一页。标签标签(bioqin)(Label)v Label 对象是一个用来放置文本的组件(z jin)v 常用方法:17第十七页,共四十一页。【例【例13-5】演示标签】演示标签(bioqin)的使用。的使用。18import java.awt.*;public class exam13_5 public s

13、tatic void main(String args) Frame f=new Frame();f.setTitle(我的GUI窗口);f.setLayout(null); /不采用布局(bj)f.setSize(200,200);f.setBackground(Color.green);f.setVisible(true);/标签 Label label1=new Label(); Label label2=new Label(欢欢迎你使用迎你使用标签标签!); Label label3=new Label(“这这是一个写是一个写标签标签的例子的例子”, Label.RIGHT) ) la

14、bel1.setBounds(40, 20, 150, 20);/标签的位置和大小 label2.setBounds(40, 40, 150, 20);/标签的位置和大小 label3.setBounds(40, 60, 150, 20);/标签的位置和大小 f.add(label1); /向窗体容器中添加标签 f.add(label2); /向窗体容器中添加标签 f.add(label3); /向窗体容器中添加标签第十八页,共四十一页。单行单行(dn xn)文本输入框文本输入框(TextField)v Label 对象是一个用来(yn li)放置文本的组件v 常用方法:19第十九页,共四十一

15、页。【例【例13-6】创建】创建(chungjin)文本框。文本框。20import java.awt.*;public class exam13_5public static void main(String args) Frame frame = new Frame(登录对话框); /创建Frameframe.setLayout(null); /指定布局管理器,关于布局后面我们将专题解frame.setSize(200,150);frame.setVisible(true);Label lblid=new Label(ID:,Label.CENTER);/居中对齐lblid.setBoun

16、ds(20,30, 50, 20);TextField id= new TextField();/创建一个单文本框,用于接受(jishu)用户ID输入 id.setBounds(75,30, 110, 20);Label lblpwd=new Label(PWD:,Label.CENTER);lblpwd.setBounds(20,55, 50, 20);TextField pw=new TextField();/创建一个单文本框,用于接受用户密码输入 pw.setBounds(75,55, 110, 20);Button login=new Button(登录); /登录按钮login.se

17、tBounds(40,80, 60, 20); -Button cancel=new Button(取消取消); /取消按钮取消按钮cancel.setBounds(105,80, 60, 20);pw.setEchoChar(*); /指定密码显示字符为指定密码显示字符为*/向向frame顺序添加顺序添加(tin ji)组件组件frame.add(lblid);/添加标签组件添加标签组件frame.add(id);/添加文本框添加文本框frame.add(lblpwd);frame.add(pw);/添加文本框添加文本框frame.add(login);/添加按钮添加按钮frame.add(

18、cancel);/添加按钮添加按钮第二十页,共四十一页。下拉选项框(下拉选项框(Choice)v 常用(chn yn)方法:21第二十一页,共四十一页。【例【例13-7】演示】演示(ynsh)创建下拉选创建下拉选项框。项框。22import java.awt.*;public class exam13_7public static void main(String args) Frame f = new Frame();f.setTitle(我的GUI窗口(chungku);f.setLayout(null);f.setSize(500, 300);f.setBackground(Color.

19、green);f.setVisible(true);/ 选项框Label label = new Label(选项框的例子:);label.setBounds(20, 50, 80, 20);-Choice c = new Choice();/创创建一个建一个(y )下拉下拉选项选项框框c.addItem(北北 京京);/添加添加选项选项c.addItem(上上 海海);c.addItem(天天 津津);c.addItem(南南 京京);c.addItem(郑郑 州州);c.addItem(武武 汉汉);c.setBounds(110, 50, 60, 20);/设设置置选项选项框的位置和大小

20、框的位置和大小f.add(label);f.add(c);第二十二页,共四十一页。滚动滚动(gndng)列表列表(List)v 常用(chn yn)方法:23第二十三页,共四十一页。【例【例13-8】演示滚动】演示滚动(gndng)菜单的菜单的使用。使用。24import java.awt.*;public class exam13_8public static void main(String args) Frame frame=new Frame(List test); List list1=new List();/不可(bk)多选的列表 List list2=new List(6, tr

21、ue);/true表示可以多选,显示6行 - frame.add(list2); frame.add(list1,Center); /向frame添加list1 frame.add(list2,South);/向frame添加list2 frame.setSize(300, 200); frame.setVisible(true);list1.add(长长江江);list1.add(黄河黄河);list1.add(“淮河淮河”);list2.add(北京大学北京大学);list2.add(清清华华大学大学);list2.add(吉林大学吉林大学);list2.add(复旦大学复旦大学(f dn

22、 d xu);list2.add(南开大学南开大学);list2.add(天津大学天津大学);list2.add (南京大学南京大学);第二十四页,共四十一页。复选框(复选框(Checkbox)v 常用(chn yn)方法:25第二十五页,共四十一页。复选框组复选框组(CheckboxGroup)v 常用(chn yn)方法:26第二十六页,共四十一页。【例【例13-10】单选按钮示例】单选按钮示例(shl)27import java.awt.*;public class exam13_10public static void main(String args)Frame frame=new

23、Frame(CheckboxGroup);CheckboxGroup radioGroup =new CheckboxGroup(); /复选框组/cb1、cb2、cb3属于复选框组radioGroupCheckbox cb1 = new Checkbox(红色(hngs), radioGroup,true);Checkbox cb2 = new Checkbox(黄色, radioGroup,false);Checkbox cb3 = new Checkbox(蓝色, radioGroup,false);frame.add(cb1);frame.add(cb2);frame.add(cb3)

24、;frame.setLayout(new FlowLayout();frame.setSize(200,100);frame.setVisible(true);第二十七页,共四十一页。菜单菜单(ci dn)(Menu)v Java提供(tgng)下列类来创建和管理菜单: MenuBar:菜单条 Menu:菜单 MenuItem:菜单项 CheckboxMenuItem:带复选框的菜单项28第二十八页,共四十一页。菜单菜单(ci dn)(Menu)v 创建一个完整的菜单参照如下的步骤: 创建MenuBar类的对象 为你想在菜单栏上出现(chxin)的每个菜单,创建Menu类对象 调用MenuBa

25、r类的add()方法来为菜单栏增加菜单对象 为每个子菜单项创建MenuItem或CheckboxMenuItem类的对象 调用Menu对象的add()方法来增加菜单选项到相应的菜单里。29第二十九页,共四十一页。30任务任务(rn wu)实现实现1分析分析该该任任务务中涉及中涉及(shj)到的到的GUI容器和容器和组组件件23创创建建(chungjin)窗体窗体类类给给窗体窗体类类添加所需要的添加所需要的组组件件45创创建初始化容器和建初始化容器和组组件的方法件的方法利用构造函数在利用构造函数在创创建建对对象的象的时时候自候自动调动调用步用步骤骤4所所创创建的方法建的方法6让让窗体窗体显显示出

26、来示出来第三十页,共四十一页。31驱动驱动(q dn)任务任务二二在上一节任务开设(kish)新账号界面的基础上实现注册账号功能第三十一页,共四十一页。32目标目标(mbio)及知识点及知识点事件机制、事件与事件源及事件事件机制、事件与事件源及事件监监听器的概念听器的概念1 1捕捕获获事件并事件并进进行事件行事件处处理理2第三十二页,共四十一页。事件事件(shjin)和事件和事件(shjin)源源v 事件就是在用户界面上发生与用户交互行为而产生的一种效果,如鼠标的各种动作(dngzu)(点击、移入、移出等)、键盘的操作(按下、释放等)以及发生在组件上的各种动作(dngzu)(获得焦点、失去焦点

27、等)v 事件源就是产生事件的那个组件,比如点击按钮产生了一个点击事件,那么这个被点击的按钮就是事件源。33第三十三页,共四十一页。事件事件(shjin)监听器监听器v 如何捕获事件是我们(w men)在做事件处理的时候首先要考虑的问题,这就需对各个事件进行监听,判断该事件是否发生。v 常见的事件监听器34第三十四页,共四十一页。【例【例13-11】35Frame frame = new Frame();frame.addWindowListener(new WindowListener()public void windowActivated(WindowEvent e) /处处理当窗口在最前

28、面理当窗口在最前面时时的事件的事件public void windowClosed(WindowEvent e) /处处理窗口关理窗口关闭闭完成后的事件完成后的事件public void windowClosing(WindowEvent e) frame.dispose();/处处理点理点击击(din j)了关了关闭闭窗口事件窗口事件public void windowDeactivated(WindowEvent e) /处处理当窗口不在最前面理当窗口不在最前面时时的事件的事件public void windowIconified(WindowEvent e) /处处理当窗口最小化理当窗口

29、最小化时时的事件的事件public void windowOpened(WindowEvent e) /处处理窗口打开成功事件理窗口打开成功事件);frame.setVisible(true);第三十五页,共四十一页。事件事件(shjin)适配器适配器v 事件监听器是接口,因此要生成对象完成监听功能则必须要把它所有的抽象方法实现,这给我们开发带来了很多的空方法,如我们只想做窗口关闭(gunb)事件的时候却要把WindowListener接口的7个方法全部实现出来,而我们实际上只关心windowClosing()方法。有没有一种办法让代码中只包括我们所关心的方法呢?这就要采用事件适配器,36第三

30、十六页,共四十一页。事件事件(shjin)适配器适配器v 常用(chn yn)适配器37第三十七页,共四十一页。【例【例13-12】Java面向对象软件开发38Frame frame = new Frame();frame.addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e) frame.dispose();/处处理理(chl)点点击击了关了关闭闭窗口事件窗口事件);frame.setVisible(true);第三十八页,共四十一页。39任务任务(rn wu)实现实现1分析分析(fnx)注册

31、注册业务业务流程,并构建数据流程,并构建数据库库表表结结构构23给给各个按各个按钮钮添加添加(tin ji)事件事件监监听器听器完成关完成关闭闭窗口事件窗口事件处处理理45完成取消按完成取消按钮钮事件事件处处理理完成确定按完成确定按钮钮事件事件处处理,理,实现账户实现账户注册功能注册功能第三十九页,共四十一页。40课堂课堂(ktng)总结总结 第四十页,共四十一页。内容(nirng)总结面向对象程序设计与系统开发。frame1.setTitle(AWT Frame测试(csh)。f.setTitle(我的GUI窗口)。/将窗体的布局方式去掉,布局我们后面将会讲到。f.setSize(300, 300)。f.setSize(200,200)。/创建一个单文本框,用于接受用户密码输入。pw.setEchoChar(*)。在上一节任务开设新账号界面的基础上实现注册账号功能。课堂总结第四十一页,共四十一页。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > pptx模板 > 企业培训

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁