0

我有一个MouseClicked听众,但有时它不会运行。

然而MousePressedorMouseRelease总是活跃的。

我的代码:

mixbutton[0][0].addMouseListener(new java.awt.event.MouseAdapter()
    {

        public void mouseClicked(java.awt.event.MouseEvent evt)
        {   if(flag==0) 
        {
            count++;
            if(subimage[0][1]==null)
            {
                temp=subimage[0][0];
                subimage[0][0]=subimage[0][1];
                subimage[0][1]=temp;
                mixbutton[0][0].setIcon(subimage[0][0]);
                mixbutton[0][1].setIcon(subimage[0][1]);
            }
            else if(subimage[1][0]==null)
            {
                temp=subimage[0][0];
                subimage[0][0]=subimage[1][0];
                subimage[1][0]=temp;
                mixbutton[0][0].setIcon(subimage[0][0]);
                mixbutton[1][0].setIcon(subimage[1][0]);
            }
            if(checkimage[0][0]==subimage[0][0] &&checkimage[0][1]==subimage[0][1] &&checkimage[0][2]==subimage[0][2] &&
                    checkimage[1][0]==subimage[1][0] &&checkimage[1][1]==subimage[1][1] &&checkimage[1][2]==subimage[1][2] &&
                            checkimage[2][0]==subimage[2][0] &&checkimage[2][1]==subimage[2][1]  )
            {
                jumsulabel.setText("sucess"+count);
                rankinput.setSize(400,300);rankinput.setVisible(true);
                flag=1; //
            }
        }
        }

    }
    );
4

1 回答 1

1

如果按下鼠标按钮并移动鼠标甚至一纳秒,然后释放鼠标按钮,则它不会捕获mouseClicked事件。只有在这种情况下mousePressed,才会mouseReleased触发事件。您可以通过监听mouseDragged事件来验证这一点。在mousePressedmouseReleased事件之间,您会发现一个或多个mouseDragged事件。

MouseListener与按钮一起使用是相当不寻常的。而是使用ActionListener.

于 2013-06-14T08:29:25.770 回答