我有一个MouseClicked
侦听器,但有时无法运行。
但是MousePressed
或MouseRelease
始终处于活动状态。
我的代码:
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; //
}
}
}
}
);
最佳答案
如果按下鼠标按钮,并且鼠标移动了甚至一纳秒,然后释放了鼠标按钮,则它将无法捕获mouseClicked
事件。在这种情况下,仅触发mousePressed
和mouseReleased
事件。您可以通过监听mouseDragged
事件来验证这一点。在mousePressed
和mouseReleased
事件之间,您将找到一个或多个mouseDragged
事件。
将MouseListener
与Buttons一起使用是非常不寻常的。而是使用ActionListener
。