JAVA程序员培训定制课程c11.ppt
《JAVA程序员培训定制课程c11.ppt》由会员分享,可在线阅读,更多相关《JAVA程序员培训定制课程c11.ppt(20页珍藏版)》请在三一文库上搜索。
1、第十一章,GUI事件处理,2,本章内容,Java事件和事件处理 事件源、事件监听器、事件类型 事件监听器接口和事件适配器 内部类和匿名类在Java事件处理中的应用,3,什么是事件?,事件(Event) 一个对象,它描述了发生什么事情 事件源(Event source) 产生事件的组件 事件处理方法(Event handler) 能够接收、解析和处理事件类对象、实现和用户交互的方法,用户鼠标点击,actionPerformed(ActionEvent e) ,ActionEvent,4,事件处理模型(Delegation Model),一个事件可以被发送到多个不同的处理方法.,如果关注某个组件产
2、生的事件 ,则可以在该组件上注册适当的事件处理方法,实际上注册的事件处理者方法所属类型的一个对象-事件监听器,用户鼠标点击,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(
3、“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,事
4、件代理模型综述,Java GUI设计中,通过注册监听器的方式对所关注的事件源进行监控。 注册监听器时应指明该监听器监控(感兴趣)的事件种类。 当事件源发生了某种类型的事件时,只触发事先已就该种事件类型注册过的监听器。,7,Java事件分类,8,Java GUI事件及相应监听器接口(1),9,Java GUI事件及相应监听器接口(2),10,多重监听器,一般情况下,事件源可以产生多种不同类型的事件,因而可以注册(触发)多种不同类型的监听器。 一个事件源组件上可以注册多个监听器,针对同一个事件源的同一种事件也可以注册多个监听器,一个监听器可以被注册到多个不同的事件源上。,11,Java事件处理举例
5、(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.setAct
6、ionCommand(“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.
7、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)
8、; 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() + “)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 程序员 培训 定制 课程 c11
链接地址:https://www.31doc.com/p-2145519.html