是否可以同时使用ActionListener和MouseListener创建Jbutton

意思是这样,我创建了一个按钮,然后当我按下按钮(通过actionListener)时,它会更改框架,以便在按下按钮之后,我可以按下框架上的任何位置,并且会使用MouseListener。

JButton button = new JButton();//Creates Button
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
    //Insert MouseListener
    //Then do something with mouseListener
}
});


这是当前代码:但是,当我尝试单击按钮并且我无法第二次调用mouseListener时,它们现在已同步

    JButton button2 = new JButton("Click");
    button2.addActionListener(new ActionListener()
    {
        public void actionPerformed(ActionEvent e)
        {
            System.out.println("You clicked the button");
            newCube.stopCube();
        }

    });
    button2.addMouseListener(new java.awt.event.MouseAdapter()
    {
        public void mousePressed(java.awt.event.MouseEvent evt)
        {
            double x = evt.getX();
            double y = evt.getY();
            newCube.setCube(x,y);
        }
    });

最佳答案

如果要通过单击移动某物,则可以直接在该节点上使用鼠标侦听器,而不是在按钮上使用它。

要在按钮上添加动作侦听器和鼠标侦听器,可以在按钮上使用addActionListener和addMouseListener方法。

查看api以获取有关这些方法的信息... http://docs.oracle.com/javase/7/docs/api/javax/swing/JButton.html

关于java - 带有ActionListener/MouseListener的JButton,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22348685/

10-12 02:32