创建知道它是正确还是左键单击的JButton

时间:2016-04-28 00:58:02

标签: java actionlistener mouselistener mouseclick-event

我正在尝试创建一个JButton,它会在按下时知道它是正确还是左击。这是我对JButton

的动作监听器

	buttons[i][j].addActionListener(new ActionListener(){
    			public void actionPerformed(ActionEvent e){	
    				JButton button=(JButton)e.getSource();
 StringTokenizer st=new StringTokenizer(button.getName());
 					
    				}
    			});

这是我的鼠标监听器代码

 public void mouseClicked(MouseEvent event){
 	
 	if(event.getButton()==1)
 	{
 		startPosition.move(event.getX(),event.getY());
 		System.out.println(startPosition.getLocation());
 		System.out.println("row="+row+" column="+column);
 		
 	}
 	else
 	{
 		endPosition.move(event.getX(),event.getY());
 		System.out.println("row="+row+" column="+column);
 		
 	}
 }

我知道如何判断鼠标是否正确或左键单击,但我无法弄清楚如何将其与按下按钮的动作事件相结合。任何帮助将非常感激。感谢。

1 个答案:

答案 0 :(得分:0)

您可以创建一个自定义鼠标侦听器类来执行此操作:

public class CustomMouseListener implements MouseListener {
    public void mouseClicked(MouseEvent e) {
        if (event.getButton() == MouseEvent.BUTTON1) { // left click
            // do stuff
        }
        if (event.getButton() == MouseEvent.BUTTON3) { //right click
            // do stuff
        }
    }

    public void mousePressed(MouseEvent e) {
    }

    public void mouseReleased(MouseEvent e) {
    }

    public void mouseEntered(MouseEvent e) {
    }

    public void mouseExited(MouseEvent e) {
    }
}    

在使用JButtons的课程中:

buttons[i][j].addMouseListener(new CustomMouseListener());