Java 鼠标监听事件 mouseMoved(MouseEvent)
public class BtnText1 extends JFrame implements MouseMotionListener
不需要实现MouseMotionListener接口,你已经用了addMouseMotionListener方法
MouseAdapter类已经是实现了MouseMotionListener接口的。
改成
public class BtnText1 extends JFrame
可以运行成功
java的鼠标事件MouseEvent对象
button.addMouseListener(new MouseAdapter() {
@Override
//鼠标按下
public void mousePressed(MouseEvent e) {
e.getX();//横坐标(相对button而言)
e.getY();//纵坐标(相对button而言)
e.getXOnScreen();//横坐标(相对屏幕而言)
e.getYOnScreen();//纵坐标(相对屏幕而言)
}
@Override
//鼠标释放
public void mouseReleased(MouseEvent e) {
//同上
}
});
java中MouseEvent事件例子
public class MouseClickEvent extends JFrame{
public MouseClickEvent() {
Container container = getContentPane();
container.addMouseListener(new MouseListener() {
@Override
public void mouseReleased(MouseEvent arg0) {
int buttonFlag = arg0.getButton();
switch (buttonFlag) {
case MouseEvent.BUTTON1:
System.out.println(“释放的是鼠标左键!\n”);
break;
case MouseEvent.BUTTON2:
System.out.println(“释放的是鼠标滚轮!\n”);
break;
case MouseEvent.BUTTON3:
System.out.println(“释放的是鼠标右键!\n”);
break;
}
}
@Override
public void mousePressed(MouseEvent arg0) {
int buttonFlag = arg0.getButton();
switch (buttonFlag) {
case MouseEvent.BUTTON1:
System.out.println(“按下的是鼠标左键!\n”);
break;
case MouseEvent.BUTTON2:
System.out.println(“按下的是鼠标滚轮!\n”);
break;
case MouseEvent.BUTTON3:
System.out.println(“按下的是鼠标右键!\n”);
break;
}
}
@Override
public void mouseExited(MouseEvent arg0) {
System.out.println(“光标移出应用程序窗口了!\n”);
}
@Override
public void mouseEntered(MouseEvent arg0) {
System.out.println(“光标进入应用程序窗口了!\n”);
}
@Override
public void mouseClicked(MouseEvent arg0) {
int buttonFlag = arg0.getButton();
switch (buttonFlag) {
case MouseEvent.BUTTON1:
System.out.println(“点击的是鼠标左键!\n”);
break;
case MouseEvent.BUTTON2:
System.out.println(“点击的是鼠标滚轮!\n”);
break;
case MouseEvent.BUTTON3:
System.out.println(“点击的是鼠标右键!\n”);
break;
}
int clickCount = arg0.getClickCount();
System.out.println(“点击次数为”+clickCount+”\n”);
}
});
}
public static void main(String[] args) {
MouseClickEvent testFrame = new MouseClickEvent();
testFrame.setTitle(“鼠标点击事件测试程序!”);
testFrame.setVisible(true);
testFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
testFrame.setBounds(0, 0, 500, 400);
}
}
Java 中 MouseEvent e中的e指的是什么?
比如:mouseClicked(MouseEvent e) 其中的e是一个标识符,这里表示e为MouseEvent类的一个实例标识,也就是一个MoseEvent类的一个对象,同时也可以说成是MouseEvent的一个句柄。可以通过这个句柄来调用MouseEvent类中的相关属性其方法等。当然,这个e的标识符你是可以自己根据情况定义,如你可以这样写:public void testMouseEvent(MouseEvent _mouseEvent){……} 其中_mouseEvent 就是上面的那个e了。其中这里的e对象在内在中是存放在栽内在中的,它实际也是一个“指针”。