- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
java电子书-挺棒J18_19.doc
第十八章Java中的鼠标事件和键盘事件
发生鼠标事件的事件源往往是一个容器,当鼠标进入容器、离开容器、你在容器中单击鼠标、拖动鼠标时都发生了鼠标事件。
使用MouseListener接口处理鼠标事件
事件源发生的鼠标事件有5种:
按下鼠标键
释放鼠标键
击鼠标键
鼠标进入
鼠标退出
鼠标事件的类型是MouseEvent,即当发生鼠标事件时,MouseEvent类自动为你创建一个事件对象。
MouseEvent 类中有下列几个重要的方法:
getX(),getY():获取鼠标的坐标位置。
getModifiers():获取鼠标的左或右键。
getClickCount():获取鼠标被点击的次数。
事件源获得监视器的方法是
addMouseListener(监视器)。
处理事件源发生的事件的接口是
MouseListener。
接口中有如下方法:
MousePressed(MouseEvent): 负责处理鼠标按下事件。即,当你在事件源按下鼠标时,监视器发现这个事件后将自动调用接口中的这个方法对事件作出处理。
MouseReleased(MouseEvent): 负责处理鼠标释放事件。即,当你在事件源释放鼠标时,监视器发现这个事件后将自动调用接口中的这个方法对事件作出处理。
MouseEntered(MouseEvent): 负责处理鼠进入容器事件。即,当鼠标进入时,监视器发现这个事件后将自动调用接口中的这个方法对事件作出处理。
MouseExited(MouseEvent): 负责处理鼠标离开。即,当鼠标离开容器时,监视器发现这个事件后将自动调用接口中的这个方法对事件作出处理。
MouseClicked(MouseEvent): 负责处理点击鼠标事件。即,当鼠标被击时,监视器发现这个事件后将自动调用接口中的这个方法对事件作出处理。
现在我们给出一个小程序的例子,在这个小程序中有一个文本框,它负责记录鼠标事件。当鼠标进入小程序时,文本区显示“鼠标进入”;当鼠标离开时,文本区显示“鼠标离开”;当鼠标被按下时,文本区显示“鼠标被按下”并显示鼠标的坐标。
例子1
import java.applet.*; import java.awt.*; import java.awt.event.*;
public class Example18_1 extends Applet implements MouseListener
{ TextField text;
public void init()
{ text=new TextField(40); add(text);
addMouseListener(this) ;//向小程序增加监视。
}
public void mousePressed(MouseEvent e)
{text.setText(鼠标键按下了,位置是+e.getX()+,+e.getY() );
}
public void mouseReleased(MouseEvent e)
{ text.setText( 鼠标松开了,位置是+e.getX()+,+e.getY() );
}
public void mouseEntered(MouseEvent e)
{text.setText( 鼠标进来了,位置是+e.getX()+,+e.getY() );
}
public void mouseExited(MouseEvent e)
{text.setText( 鼠标走开了);
}
public void mouseClicked(MouseEvent e)
{ if(e.getClickCount()==2)
{ text.setText(鼠标键双击,位置:+e.getX()+,+e.getY());
}
else {}
}
}
在下面这个例子中,当按下鼠标时,一个圆不断地增大半径。
例子2
import java.applet.*;import java.awt.*;import java.awt.event.*;
public class Example18_2 extends Applet implements MouseListener
{ TextField text;int x;
public void init()
{ x=5; text=new TextField(40); add(text);
addMouseListener(this) ;//小程序监视小程序容器中的鼠标事件。
}
public void paint(Graphics g)
{ x=
文档评论(0)