怎麼使用java語言來判斷鼠標點擊的是那個按鈕?
方法一:也是經典方法,是通過檢測MouseEvent的modifiers屬性,並將其與InputEvent類中的各種掩碼設置常量進行對比來判斷是哪個鼠標按鈕發生了變化。
package mouseTest;
import java.awt.Color;
import java.awt.event.InputEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
import javax.swing.JTextArea;
public class MousePressed extends JFrame{
private static final long serialVersionUID = -7967362469391764328L;
private JTextArea text;
public MousePressed(){
text=new JTextArea(10,10);
text.setBackground(Color.pink);
text.setForeground(Color.BLACK);
getContentPane().add(text);
text.addMouseListener(new MouseAdapter(){
public void mousePressed(MouseEvent e){
if(e.getModifiers()==InputEvent.BUTTON1_MASK)
System.out.println("Left button is pressed");
if(e.getModifiers()==InputEvent.BUTTON2_MASK)
System.out.println("Middle buton is pressed");
if(e.getModifiers()==InputEvent.BUTTON3_MASK)
System.out.println("right button is pressed");
}
});
setBounds(100,100,200,200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setResizable(false);
setVisible(true);
}
public static void main(String[] args) {
new MousePressed();
}
}
方法二:使用SwingUtilities工具類中的方法來判斷
package mouseTest;
import java.awt.Color;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
import javax.swing.JTextArea;
import javax.swing.SwingUtilities;
public class MouseReleased extends JFrame{
private JTextArea text;
public MouseReleased(){
text=new JTextArea(10,10);
text.setBackground(Color.pink);
text.setForeground(Color.BLACK);
getContentPane().add(text);
text.addMouseListener(new MouseAdapter(){
public void mouseReleased(MouseEvent e){
if(SwingUtilities.isLeftMouseButton(e))
System.out.println("Left button is pressed");
if(SwingUtilities.isMiddleMouseButton(e))
System.out.println("Middle buton is pressed");
if(SwingUtilities.isRightMouseButton(e))
System.out.println("right button is pressed");
}
});
setBounds(100,100,200,200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setResizable(false);
setVisible(true);
}
public static void main(String[] args) {
new MouseReleased();
}
}