- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
11.3.2 复杂示例: package test; import java.awt.*; import java.awt.event.*; public class TwoListener implements MouseMotionListener,MouseListener { private Frame f; private TextField tf; public TwoListener(){ f=new Frame(两个事件监听器的示例); tf=new TextField(30); } public void launchFrame(){ Label label=new Label(单击并拖动鼠标); f.add(label,BorderLayout.NORTH); f.add(tf,BorderLayout.SOUTH); f.addMouseMotionListener(this); f.addMouseListener(this); f.setSize(300,200); f.setVisible(true); } public void launchFrame(){ b.addActionListener(new ButtonHandler()); f.add(b,BorderLayout.CENTER); f.pack();//让frame自动根据组件的大小调整自己的大小 f.setVisible(true); } public static void main(String[] args) { TestButton guiApp=new TestButton(); guiApp.launchFrame(); } } import java.awt.event.*; import java.awt.*; public class ButtonHandler implements ActionListener { public void actionPerformed(java.awt.event.ActionEvent e){ System.out.println(单击了按钮); Button b=(Button)e.getSource(); System.out.println(按钮动作命令为: + e.getActionCommand()); System.out.println(按钮标签为: + b.getLabel()); } } public void mouseDragged(MouseEvent e){ String s=鼠标拖动: X=+e.getX()+ Y=+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){ } public static void main(String[] args) { TwoListener two=new TwoListener(); two.launchFrame(); } } 11.3.3 多个侦听器: 如果希望组件的同一个事件需要有多个侦听器进行监听并处理,那么需要我们在代码中使用组件对象的.addXxxxListener(侦听器对象)方法,调用多次来解决这个问题。但侦听器对象必须实现相应的事件接口。 11.4 开发事件侦听器 11.4.1 事件适配器Adapter 如果某个类希望对某个组件的事件进行监听并处理,则该类需要实现相应的事件接口。但事件接口中的抽象方法往往非常多,这导致工作量非常大。 这时,我们可以选择继承事件适配器类进行事件监听,事件适配器已经默认实现了相应的事件接口,只不能方法为空方法,这样我们可以有选择性的覆盖事件适配器中的事件方法
您可能关注的文档
最近下载
- 2025湖南株洲市工会社会工作者招聘30人笔试备考试题及答案解析.docx VIP
- 2023考试软件评测师真题及答案完整版.docx VIP
- 机务基础维修执照考试资料系列 M11 .pdf VIP
- 患者跌倒、坠床等意外事件的防范制度、措施、报告制度.docx VIP
- 2025年湖南株洲市工会社会工作者招聘30人笔试备考试题及答案解析.docx VIP
- 教师资格考试初中学科知识与教学能力语文试卷及解答参考.docx VIP
- 部编版八年级道德与法治上册3.1《维护秩序》优质教案.doc
- 冷链医疗器械培训试题(含答案).docx VIP
- 2025湖南株洲市工会社会工作者招聘30人笔试备考题库及答案解析.docx VIP
- 乾坤木业业务流程诊断.ppt VIP
文档评论(0)