java addMouseListener()方法
瑾珮 人气:1java addMouseListener()方法使用
用于接收组件上“感兴趣”的鼠标事件(按下、释放、单击、进入或离开)的侦听器接口。(要跟踪鼠标移动和鼠标拖动,请使用 MouseMotionListener。)
使用组件的 addMouseListener 方法将从该类所创建的侦听器对象向该组件注册。当按下、释放或单击(按下并释放)鼠标时会生成鼠标事件。鼠标光标进入或离开组件时也会生成鼠标事件。发生鼠标事件时,将调用该侦听器对象中的相应方法,并将MouseEvent 传递给该方法。
其包含五个方法
public void mouseClicked(MouseEvent e)//鼠标按键在组件上单击(按下并释放)时调用。 public void mouseEntered(MouseEvent e)/鼠标进入到组件上时调用。 public void mouseExited(MouseEvent e)//鼠标离开组件时调用。 public void mousePressed(MouseEvent e)//鼠标按键在组件上按下时调用。 public void mouseReleased(MouseEvent e)//鼠标按钮在组件上释放时调用。
package mi; import java.awt.*; import javax.swing.*; public class mouseListener extends JFrame implements MouseListener { private JLabel j = new JLabel("测试文本");// 用来测试的组件 private JTextArea jt = new JTextArea(); private JButton exit = new JButton("退出"); public mouseListener() { j.addMouseListener(this); this.add(j, BorderLayout.NORTH); this.add(jt, BorderLayout.CENTER); this.add(exit, BorderLayout.SOUTH); this.setSize(500, 400); this.setVisible(true); this.setLocationRelativeTo(null); exit.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { System.exit(0); } }); } public static void main(String[] args) { new mouseListener(); } @Override public void mouseClicked(MouseEvent e) {// 单击鼠标时执行的操作 jt.append("鼠标单击了此文本区域\n"); } @Override public void mouseEntered(MouseEvent e) {// 鼠标进入组件时执行的操作 jt.append("鼠标进入了此文本区域\n"); } @Override public void mouseExited(MouseEvent e) {// 鼠标离开组件时执行的操作 jt.append("鼠标离开了此文本区域\n"); } @Override public void mousePressed(MouseEvent e) {// 鼠标在组件上按下时执行的操作 jt.append("在此文本区域你按下了鼠标\n"); } @Override public void mouseReleased(MouseEvent e) {// 鼠标释放时执行的操作 jt.append("鼠标按键释放了\n"); } }
另外也可以扩展抽象类 MouseAdapter,此时只需重写有用的方法。
另外还有几个重要的方法
getX()
,getY()
:获取鼠标的坐标位置getModifiers()
:获取鼠标的左或右键getClickCount()
:获取鼠标被点击的次数setCursor()
:控制鼠标指针的形状
java鼠标事件监听MOUSEADAPTER
当鼠标键被按下、释放或单击(按下并释放)时发生动作事件
方法摘要
mouseClicked(MouseEvent e)
鼠标按键在组件上单击(按下并释放)时调用。
public class MouseAdapterTest extends Frame { public static void main(String[] args) { Frame f = new Frame(); f.setBounds(500, 500, 200, 200); f.addMouseListener(new asd()); f.setVisible(true); } } class asd extends MouseAdapter { @Override public void mouseClicked(MouseEvent e) { System.out.println("鼠标点击了"); } }
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
加载全部内容