有两种方法:
方法一:也是经典方法,是通过检测MouseEvent的modifiers属性,并将其与InputEvent类中的各种掩码设置常量进行对比来判断是哪个鼠标按钮发生了变化。
public void mousePressed(MouseEvent event) {
int modifiers = event.getModifiers();
if((modifiers & InputEvent.BUTTON1_MASK) == InputEvent.BUTTON1_MASK) {
System.out.println("Left button is pressed");
}
if((modifiers & InputEvent.BUTTON2_MASK) == InputEvent.BUTTON2_MASK) {
System.out.println("Middle button is pressed");
}
if((modifiers & InputEvent.BUTTON3_MASK) == InputEvent.BUTTON3_MASK) {
System.out.println("Right button is pressed"); }
}
方法二:更为简单(推荐),是直接利用SwingUtilities工具类中的方法来判断,如下所示:
public void mouseReleased(MouseEvent event) {
if(SwingUtilities.isLeftMouseButton(event)) {
System.out.println("Left button is released");
}
if(SwingUtilities.isMiddleMouseButton(event)) {
System.out.println("Middle button is released");
}
if(SwingUtilities.isRightMouseButton(event)) {
System.out.println("Right button is released"); } }
};