JAVA程序设计基础7.ppt

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 Java中的鼠标事件与键盘事件 7.1 鼠 标 事 件 7.2 处理鼠标输入 7.3 键 盘 7.1 鼠 标 事 件 7.1.1 MouseListener接口 鼠标监听接口(MouseListener)用于监听发生在一个GUI构件上的鼠标事件,包括鼠标的按下、释放、单击、进入和退出。Java同时也提供了与该接口相对应的称作事件剪裁器的抽象类MouseAdapter。 在一个实现了MouseListener接口或继承了MouseAdapter类的类中可以定义事件的处理方法,而该类的一个对象则应该用addMouseListener()方法注册到发生鼠标事件的构件上。 MouseListener接口包含的方法如下。 (1)public void mouseClicked(MouseEvent节e) 当在一个构件上单击鼠标时被调用。 (2)public void mousePressed(MouseEvent e) 当在一个构件上按下鼠标按钮时被调用。 (3)public void mouseReleased(MouseEvent e) 当在一个构件上释放鼠标按钮时被调用。 (4)public void mouseEntered(MouseEvent e) 当鼠标指针进入构件时被调用。 (5)public void mouseExited(MouseEvent e) 当鼠标指针退出构件时被调用。 7.1.2 MouseMoutionListener接口 鼠标移动监听接口(MouseMoutionListener)用于监听发生在一个GUI构件上的鼠标移动事件,包括鼠标的移动和拖动,其使用方法与MouseListener接口相同。它所包含的方法如下。 (1)public void mouseDragged(MouseEvent e) 当在一个构件上按下鼠标按钮并且拖动鼠标时该方法被调用。鼠标拖动事件持续到鼠标按钮被释放时为止,而不管鼠标的位置是否超出了原来构件的边界。 (2)public void mouseMoved(MouseEvent e) 当鼠标指针移动时该方法被调用,注意此时鼠标的按钮并没有被按下。 在MouseListener接口和MouseMotionListener接口中的所有方法中都有一个参数,它是鼠标事件类MouseEvent的一个对象,当鼠标事件发生时,系统自动生成一个该类的对象,在鼠标事件的处理方法中,经常需在调用该类的方法来获得关于事件的一些信息。MouseEvent类的常用方法如下。 (1)public int getX() 返回当前鼠标指针位置的x坐标值。 (2)public int getY() 返回当前鼠标指针位置的y坐标值。 (3)public int getClickCount() 返回事件中鼠标的点击次数。 (4)public String paramString() 返回一个标识该事件的字符串。 7.2 处理鼠标输入 例7-1:设计一个处理鼠标输入的程序,使得在一个画布构件上拖动鼠标时能画出一段曲线。 设计思路:我们假定每当按下鼠标按钮时开始画线,然后拖动鼠标继续画线过程,释放鼠标时表示一段曲线的画线过程结束,程序允许在画布构件上画出多段曲线。 一段曲线实际上由许多小的直线段构成,因此我们只需记录按下鼠标按钮时的坐标点、拖动鼠标时所产生的所有坐标点及释放鼠标时的坐标点,然后在这些坐标点之间顺序地画出直线段即连成一段曲线。为了保存这些坐标点,我们使用了一个Polygon对象poly,它是由Java系统提供的一个类,可以保存多边形的各个顶点坐标并可以动态地加入新的坐标点。 在各段不同的曲线之间加入一个特殊的标志点(-1,-1)以便在paint()方法中画线时确定一条新的曲线段的起点。所有坐标点的记录及保存都是在鼠标事件接口的mousePressed()方法、mouseReleased()方法及鼠标移动事件接口中的mouseDragged()方法中完成的。在paint()方法中根据所记录的坐标点画出各个曲线段。 import java.awt.event.*; import java.awt.*; public class mouse extends Frame implements ActionListener{ Button butn=new Button(手画线状态); canvas1 can=new canvas1(); public static void main(String[] args) { new mouse(); } mouse(){ Frame wi

文档评论(0)

yan666888 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档