电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

北京大学计算机系代亚非

40页
  • 卖家[上传人]:ldj****22
  • 文档编号:48603780
  • 上传时间:2018-07-18
  • 文档格式:PPT
  • 文档大小:198.50KB
  • / 40 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、北京大学计算机系 代亚非第三章 事件处理1第3章 事件处理z3.1 什么是事件 z3.2 鼠标产生的事件 z3.3 键盘产生的事件 z3.4 动作事件 z3.5 通用事件处理程序 z3.6 发送自己的事件 z3.7 Java 1.1事件处理模型 z3.9 小结2 什么是事件? 用户用于交互而产生的键盘或 鼠标动作. 响应用户的动作称为处理事件. 在类Event中,定义了所有的事件处理方法, 小应用已经继承了这些方法.www浏览器Web server外部程序 C程序 数据库程序cgiformappleturl interact3.1 什么是事件zCGI之外的选择33.1 什么是事件zimport java.awt.Event; zEvent在java.awt包中,无论哪个键按下或者释放, 还是鼠标移动,按下鼠标或释放鼠标,AWT都会捕 获,并产生一个事件. z处理事件的核心是重写处理事件的方法 z通用方法: z handEvent(Event evt, Object arg) z专用方法: z MouseDown(Event evt, Object arg)4zEvent类的数据域3.1

      2、 什么是事件EventObject argint clickCountint idint keyint modifiersObject targetint xint ylong when53.1 什么是事件EventHandleEvent()MouseUp()MouseDown()MouseDrag()MouseMove()MouseEnter()MouseExit()keyDown()KeyUp()action()如果你不 覆盖你要 处理的方 法,则缺 省的方法 返回一个 假值,通 知系统没 有处理事 件。63.2鼠标产生的事件z鼠标事件的三个参数: z1.事件的类型(是移动?托拽) z2.是按下还是放开? z3.鼠标的位置(x,y) z方法的重写: zpublic boolean mouseDown(Event evt,int x,int y) z.7捕获事件 mouseDown获得参数(x,y) (Event evt, int x, int y)在(x,y)处画叉 paint()drawLine3.2鼠标产生的事件z例:在鼠标单击的地方显示“ ”.(MouseClick.html

      3、)z思路:记忆鼠标点过的所有点 z1.Point marks=newPoint20;(在init方法中) z2.marksi+=new Point(x,y); (MouseDown方法中) z3.将所有的点画出来(在paint方法中) z g.fillOval(x,y,10,10);8.3.2鼠标产生的事件boolean mouseDown(Event evt, int x, int y) Marksi+=new Point(x,y);repaint(); public void paint(Graphics g) int k;for (k=0;ki;k+)g.fillOval(Marksk.x,Marksk.y,10,10); import java.awt.*;import java.applet.*; public class mark extends Applet int i; Point Marks; public void init() Marks =new Point20; i=20;9import java.awt.*;import java.applet.Applet

      4、; public class CountClick extends Applet int CurrentMarks=0;public boolean mouseDown(Event evt,int x,int y) CurrentMarks+;repaint();return true;public void paint(Graphics g) g.drawString(“ “+CurrentMarks,10,10); 3.2鼠标产生的事件z练习对鼠标的点击动作计数10捕获的方法 keyDown(Event evt, int key) Event类的键常量常量 键 常量 键 常量 键 DOWN 下箭头键 END End键 F1 F1键F2 F2键 F3 F3键 F4 F4键F5 F5键 F6 F6键 F7 F7键F8 F8键 F9 F9键 F10 F10键F11 F11键 F12 F12键 HOME Home键LEFT 左箭头键 PGDN PageDown键 PGUP PageUp键RIGHT 右箭头键 UP 上箭头键3.3键盘产生的事件11z例题:显示用户按下的字母键内容3.3键盘产

      5、生的事件import java.applet.Applet;import java.awt.*; char Presskey;public boolean keyDown(Event evt, int key) Presskey=(char)key;repaint(); return true; public void paint(Graphics g) g.drawString(Presskey,10,10); 123.3键盘产生的事件 z键盘事件处理通常包括:显示字符,光标移动z特殊键public boolean keyDown(Event evt, int key) switch(key) case Event.F1: .;case Event.PGUP: z修正键if(evt.shiftDown()if(evt.controlDown();133.3 键盘产生的事件z练习题:在屏幕上显示用户输入的字符串 z在前一题的基础上,将字符串起来,但是不能用: zString s; s=s+presskey; z应该用StringBuffer对象的append方法 zStringBuff

      6、er sb; zsb.appned(presskey); zsb的内容不能直接用g.drawString() z应该用g.drawString(sb.toString(),x,y);143.4 动作事件z凡是由构件产生的事件叫动作事件ACTION_EVENT, 处理这类事件的方法是: action().取消确定musicsportsart153.4 动作事件 zaction(Event evt, Object arg) zevt.target:指明事件类型 z(button,checkbox,list,.)EventObject argint clickCountint idint keyint modifiersObject targetint xint ylong when163.4 动作事件 z判断组件类型(如是button或checkbox) zif(evt.target instanceof Button) zif(evt.target instanceof Checkbox) z判断是哪多个同类组件中的哪一个 zif(evt.target=button1) zif(evt.

      7、target=button2) z或者通过判断标签内容 zif(arg=“确定”) zif(arg=“取消”)173.4 动作事件 例: 记录按下按钮的次数,并显示出来.import java.awt.*; import java.applet.Applet; public class CountClick extends Applet int CurrentMarks=0;public init() Button b1=new Button(“按钮”);add.b1; public boolean action(Event evt,Object arg) CurrentMarks+;repaint(); return true; public void paint(Graphics g) g.drawString(“ “+CurrentMarks,10,10); 10按钮18z思路: z1.设计两个按钮(后面详细讲) z2.事件处理action z 根据选择,分别标记园或方 z3 根据标记画出相应图形 z g.drawCirlce(50,50,50,50); z g.drawRect

      8、(25,25,75,75);3.4 动作事件 z例:根据用户选择画图形 import java.awt.*; import java.applet.Applet; public class drawing extends Applet boolean circlemark=true;public init() Button b1=new Button(“园”);Button b2=new Button(“方”);add.b1; add.b2; 园方193.4 动作事件 zpublic void paint(Graphics g) z if (circlemark) z g.filloval(10,10,30,30); z else z g.fillRect(20,20,40,40; z z public boolean action(Event evt,Object arg) z if (evt.target=b1) circlrmark=true; z else circlrmark=false; z repaint(); return true; 20zhandleEvent处理所

      9、有的小应用程序所接受的事件, 由它将事件送给相对应的方法. z让我们看一下handleEvent的缺省实现 3.5 通用的事件处理程序-handleEventpublic boolean handleEvent(Event evt) switch(evt) case Event.MOUSE_ENTER:return mouseEnter(evt,evt.x,evt.y);case Event.MOUSE_EXIT:return mouseExit(evt,evt.x,evt.y);case Event.MOUSE_MOVE:return mouseMove(evt,evt.x,evt.y);213.5 通用的事件处理程序-handleEventcase Event.MOUSE_DRAG:return mouseDrag(evt,evt.x,evt.y);case Event.MOUSE_UP:return mouseUp(evt,evt.x,evt.y);case Event.MOUSE_DOWN:return mouseDown(evt,evt.x,evt.y);case Event.KEY_PRESS:case Event.KEY_ACTION:return keyDown(evt,evt.

      《北京大学计算机系代亚非》由会员ldj****22分享,可在线阅读,更多相关《北京大学计算机系代亚非》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结 2022年家长会心得体会集合15篇
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.