欢迎来到天天文库
浏览记录
ID:40847898
大小:497.50 KB
页数:112页
时间:2019-08-08
《java程序设计第7章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第7章图形用户界面的设计与实现7.1图形用户界面核心概念7.2容器与布局管理7.3常用GUI标准组件7.4鼠标和键盘事件7.5菜单的使用7.6对话框的使用7.1图形用户界面核心概念---示例容器---可以容纳GUI部件(按某种布局)----窗体、面板部件---部署在容器中,实现某种交互。----文本框、按纽、标签等GUI部件图形用户界面核心概念♣创建窗体方法1:Framef=newFrame(“标题“)方法2:classMyFrameextendsFrame….Framef=newMyFrame(“标题“)图形用户界面核心概念♣创建GUI部件创建文本框、按钮、标签TextFieldx=ne
2、wTextField(10);Buttonb=newButton(“ok”);Labeldis=newLabel(“hint…”);图形用户界面核心概念布局设置setLayout(newFlowLayout())加入部件add(部件对象1);add(部件对象2);…..图形用户界面核心概念♣将部件加入窗体容器♣处理事件事件处理------委托事件处理模型事件源----发生事件的GUI部件事件监听者---处理事件----符合相应接口要求图形用户界面核心概念—事件处理事件委托处理—图图形用户界面核心概念—事件处理♣委托事件处理---过程(1)给事件源对象注册监听者button.addAction
3、Listener(ActionListenera);(2)给监听者编写事件处理代码publicvoidactionPerformed(ActionEvente){……}图形用户界面核心概念—事件处理★(1)事件源对象的容器类作为监听者addActionListener(this);(2)用内嵌类实现addActionListener(newProcess());♣谁作为监听者合适?---要其actionPerformed中方便访问事件处理相关对象(3)用匿名内嵌类实现addActionListener(newActionListener(){…..});图形用户界面核心概念★♣演练例子编程改
4、变Applet背景的颜色,在Applet中安排一个按钮,每次点击按钮随机换一种新颜色。图形用户界面核心概念提示:颜色由三色构成:red,green,blue(0-255)newColor(red,green,blue)用setBackground(Color)设置背景♣作业编写一个窗体应用程序,在窗体中安排一个标签和一个按钮,在标签上显示按钮的点击次数。标签初始显示0,以后每点击一次按钮,标签上显示的数值增1。图形用户界面核心概念7.1.5区分事件源编写一个窗体应用程序,在窗体中安排两个文本框,一个标签,两个标记为“+”和“*”的按钮,从两个文本框输入两个数,点击“+”按钮将文本框中两个数进
5、行加法运算,结果显示在标签中;点击“*”按钮将文本框中两个数进行乘法运算,结果显示在标签中。♣在动作事件处理代码中区分事件源getSource()用来获取事件源对象。getActionCommand()结果为字符串,用来获取按钮事件对象的命令名---ActionEvent对象提供方法图形用户界面核心概念—事件处理★♥关键代码publicvoidactionPerformed(ActionEvente){intx1=Integer.parseInt(f1.getText());intx2=Integer.parseInt(f2.getText());if(e.getActionCommand(
6、).equals(“+”))res.setText(""+(x1+x2));elseres.setText(""+(x1*x2));}7.1.6关于事件适配器类Java中为那些具有多个方法的监听者接口提供了事件适配器类,这个类通常命名为XxxAdapter,在该类中以空方法体实现了相应接口的所有方法,程序员设计可通过继承适配器类来编写监听者类,在类中只需给出关心的方法,从而减轻工作量。例7-9处理窗体的关闭importjava.awt.*;importjava.awt.event.*;importjava.applet.*;publicclassTestFrameextendsApple
7、t{ publicvoidinit() { newMyFrame(); } }classMyFrameextendsFrameimplementsActionListener{ Buttonbtn;MyFrame(){super("MYWINDOWS");btn=newButton("关闭");setLayout(newFlowLayout());add(btn);btn.addActio
此文档下载收益归作者所有