2016-04-28 53 views
0

我正在尝试创建一个JButton,它可以知道当它被按下时是否正确或是左键单击。这是我对JButton创建JButton,知道它是正确还是左键单击

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

的动作监听这里是我的鼠标监听

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

我知道如何启齿或代码现在鼠标是右键或左键单击,但我无法弄清楚如何组合t按下按钮的动作事件的帽子。任何帮助将非常感激。谢谢。

+0

此外,在讨论(HTTP [addMouseListener将或addActionListener方法或者JButton的?] ://stackoverflow.com/questions/3616761/addmouselistener-or-addactionlistener-or-jbutton) – argoc

回答

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) { 
    } 
}  

在类与Jbutton将:

buttons[i][j].addMouseListener(new CustomMouseListener()); 
相关问题