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