JAVA:事件监听器之鼠标监听
addMouseListener
publicvoidaddMouseListener(MouseListenerl)添加指定的鼠标侦听器,以接收发自此组件的鼠标事件。如果侦听器l为null,则不会抛出异常并且不执行动作。?
java.awt.event接口MouseListener
用于接收组件上“感兴趣”的鼠标事件(按下、释放、单击、进入或离开)的侦听器接口。(要跟踪鼠标移动和鼠标拖动,请使用MouseMotionListener。)
旨在处理鼠标事件的类要么实现此接口(及其包含的所有方法),要么扩展抽象类MouseAdapter(仅重写所需的方法)。
然后使用组件的addMouseListener方法将从该类所创建的侦听器对象向该组件注册。当按下、释放或单击(按下并释放)鼠标时会生成鼠标事件。鼠标光标进入或离开组件时也会生成鼠标事件。发生鼠标事件时,将调用该侦听器对象中的相应方法,并将MouseEvent传递给该方法。?
?
方法摘要 void mouseClicked(MouseEvente)鼠标按键在组件上单击(按下并释放)时调用。 void mouseEntered(MouseEvente)鼠标进入到组件上时调用。 void mouseExited(MouseEvente)鼠标离开组件时调用。 void mousePressed(MouseEvente)鼠标按键在组件上按下时调用。 void mouseReleased(MouseEvente)鼠标按钮在组件上释放时调用。 ?——摘自:JDK6API
?
例子:
1importjavax.swing.;
2importjava.awt.;
3importjava.awt.event.;
4publicclassMouseDemo
5{
6//定义该图形中所需的组件的引用
7privateFramef;
8privateButtonbt;
9
10//方法
11MouseDemo()//构造方法
12{
13madeFrame();
14}
15
16publicvoidmadeFrame()
17{
18f=newFrame("MyFrame");
19
20//对Frame进行基本设置。
21f.setBounds(300,100,600,500);//对框架的位置和大小进行设置
22f.setLayout(newFlowLayout(FlowLayout.CENTER,5,5));//设计布局
23
24bt=newButton("MyButton");
25
26//将组件添加到Frame中
27f.add(bt);
28
29//加载一下窗体上的事件
30myEvent();
31
32//显示窗体
33f.setVisible(true);
34}
35
36privatevoidmyEvent()
37{
38f.addWindowListener(newWindowAdapter()//窗口监听
39{
40publicvoidwindowClosing(WindowEvente)
41{
42System.out.println("窗体执行关闭!");
43System.exit(0);
44}
45});
46
47bt.addActionListener(newActionListener()//按钮监听
48{
49publicvoidactionPerformed(ActionEvente)
50{
51System.out.println("按钮活动了!");
52}
53});
54bt.addMouseListener(newMouseAdapter()//鼠标监听
55{
56privateintcount=1;
57privateintmouseCount=1;
58publicvoidmouseEntered(MouseEvente)
59{
60System.out.println("鼠标监听"+count++);
61}
62publicvoidmouseClicked(MouseEvente)
63{
64if(e.getClickCount()==2)
65System.out.println("鼠标被双击了");
66elseSystem.out.println("鼠标被点击"+mouseCount++);
67}
68});
69}
70
71publicstaticvoidmain(String[]agrs)
72{
73newMouseDemo();
74}
75}
?
?
|
|