怎麼使用java語言來判斷鼠標點擊的是那個按鈕?

怎麼使用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();
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章