欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载
     

    JAVA程序员培训定制课程c11.ppt

    • 资源ID:2145519       资源大小:174.01KB        全文页数:20页
    • 资源格式: PPT        下载积分:4
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要4
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    JAVA程序员培训定制课程c11.ppt

    第十一章,GUI事件处理,2,本章内容,Java事件和事件处理 事件源、事件监听器、事件类型 事件监听器接口和事件适配器 内部类和匿名类在Java事件处理中的应用,3,什么是事件?,事件(Event) 一个对象,它描述了发生什么事情 事件源(Event source) 产生事件的组件 事件处理方法(Event handler) 能够接收、解析和处理事件类对象、实现和用户交互的方法,用户鼠标点击,actionPerformed(ActionEvent e) ,ActionEvent,4,事件处理模型(Delegation Model),一个事件可以被发送到多个不同的处理方法.,如果关注某个组件产生的事件 ,则可以在该组件上注册适当的事件处理方法,实际上注册的事件处理者方法所属类型的一个对象-事件监听器,用户鼠标点击,actionPerformed(ActionEvent e) /事件处理方法2,ActionEvent,actionPerformed(ActionEvent e) /事件处理方法1,5,Java事件处理举例(1),import java.awt.*; import java.awt.event.*; public class TestActionEvent public static void main(String args) Frame f = new Frame(“Test“); Button b = new Button(“Press Me!“); Monitor bh = new Monitor(); b.addActionListener(bh);/注册监听器 f.add(b,BorderLayout.CENTER); f.pack(); f.setVisible(true); class Monitor implements ActionListener public void actionPerformed(ActionEvent e) System.out.println(“a button has been pressed“); ,6,事件代理模型综述,Java GUI设计中,通过注册监听器的方式对所关注的事件源进行监控。 注册监听器时应指明该监听器监控(感兴趣)的事件种类。 当事件源发生了某种类型的事件时,只触发事先已就该种事件类型注册过的监听器。,7,Java事件分类,8,Java GUI事件及相应监听器接口(1),9,Java GUI事件及相应监听器接口(2),10,多重监听器,一般情况下,事件源可以产生多种不同类型的事件,因而可以注册(触发)多种不同类型的监听器。 一个事件源组件上可以注册多个监听器,针对同一个事件源的同一种事件也可以注册多个监听器,一个监听器可以被注册到多个不同的事件源上。,11,Java事件处理举例(2),import java.awt.*; import java.awt.event.*; public class TestActionEvent2 public static void main(String args) Frame f = new Frame(“Test“); Button b1 = new Button(“Start“); Button b2 = new Button(“Stop“); Monitor bh2 = new Monitor2(); b1.addActionListener(bh); b2.addActionListener(bh); b2.setActionCommand(“game over“); f.add(b1,“North“); f.add(b2,“Center“); f.pack(); f.setVisible(true); class Monitor2 implements ActionListener public void actionPerformed(ActionEvent e) System.out.println(“a button has been pressed, the relative info is: “ + e.getActionCommand(); ,12,多重监听器举例(1),import java.awt.*; import java.awt.event.*; public class TestMultiListener implements MouseMotionListener,MouseListener Frame f = new Frame(“多重监听器测试“); TextField tf = new TextField(30); public TestMultiListener() f.add(new Label(“请按下鼠标左键并拖动“), “North“); f.add(tf, “South“); f.setBackground(new Color(120,175,175); f.addMouseMotionListener(this); f.addMouseListener(this); f.setSize(300, 200); f.setVisible(true); public static void main(String args) TestMultiListener t = new TestMultiListener(); /未完,接下页,13,多重监听器举例(2),public void mouseDragged(MouseEvent e) String s = “鼠标拖动到位置(“ + e.getX() + “,“ + e.getY() + “)“; tf.setText(s); public void mouseEntered(MouseEvent e) String s = “鼠标已进入窗体“; tf.setText(s); public void mouseExited(MouseEvent e) String s = “鼠标已移出窗体“; tf.setText(s); / 未使用的MouseMotionListener和MouseListener接口中的方法,也必须实现 public void mouseMoved(MouseEvent e) public void mousePressed(MouseEvent e) public void mouseClicked(MouseEvent e) public void mouseReleased(MouseEvent e) ,14,Ex1,练习M11-5/6页中的例子,并对实现了ActionListener接口的 Monitor类进行个性化修改,理解Java语言中的事件处理机制; 分析并运行M11-12/13页TestMultiListener.java例子,体会在同一个组件上注册多个事件监听器的机制; 扩充TestMultiListener.java,对MouseListener接口和MouseMotionListener接口中其余几个未真正实现的声明的方法进行细化,使其实现一定的功能;,15,事件适配器(Event Adapter),为简化编程,针对大多数事件监听器接口定义了相应的实现类-事件适配器类,在适配器类中,实现了相应监听器接口中所有的方法,但不做任何事情。 在定义监听器类时就可以继承事件适配器类,并只重写所需要的方法。,ComponentAdapter(组件适配器) ContainerAdapter(容器适配器) FocusAdapter(焦点适配器) KeyAdapter(键盘适配器) MouseAdapter(鼠标适配器) MouseMotionAdapter(鼠标运动适配器) WindowAdapter(窗口适配器),16,事件适配器类举例,java.awt.event.MouseAdapter Implemented Interfaces:EventListener, MouseListener mousePressed(MouseEvent e) mouseReleased(MouseEvent e) mouseEntered(MouseEvent e) mouseExited(MouseEvent e) mouseClicked(MouseEvent e) ,17,事件适配器用法举例,定义一个监听器类,用于处理鼠标点击事件: 1 import java.awt.*; 2 import java.awt.event.*; 3 4 public class Monitor3 extends MouseAdapter 5 6 / 当只需要处理mouseClick事件时,可以继承 7 / 事件适配器类MouseAdapter,以避免实现接口 8 / 时不得不重写接口中定义的所有方法 9 10 public void mouseClicked(MouseEvent e) 11 / 处理代码 12 13 ,18,内部类在事件处理中的使用(1),import java.awt.event.*; public class TestInner Frame f = new Frame(“内部类测试“); TextField tf = new TextField(30); public TestInner() f.add(new Label(“请按下鼠标左键并拖动“), “North“); f.add(tf, “South“); f.setBackground(new Color(120,175,175); InnerMonitor im = new InnerMonitor(); f.addMouseMotionListener(im); f.addMouseListener(im); f.setSize(300, 200); f.setVisible(true); public static void main(String args) TestMultiListener t = new TestMultiListener(); /未完,接下页,19,内部类在事件处理中的使用(2),class InnerMonitor implements MouseMotionListener,MouseListener public void mouseDragged(MouseEvent e) String s = “鼠标位置(“ + e.getX() + “,“ + e.getY() + “)“; tf.setText(s); public void mouseEntered(MouseEvent e) String s = “鼠标已进入窗体“; tf.setText(s); public void mouseExited(MouseEvent e) String s = “鼠标已移出窗体“; tf.setText(s); public void mouseMoved(MouseEvent e) public void mousePressed(MouseEvent e) public void mouseClicked(MouseEvent e) public void mouseReleased(MouseEvent e) /end of inner class InnerMonitor /end of class TestInner,20,Ex2,在理解的基础上,将M11-18例子中的内部类InnerMoniter改为普通的外部类,实现同样的功能。,

    注意事项

    本文(JAVA程序员培训定制课程c11.ppt)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开