Java 从Mouselistener返回布尔值
类“board”想知道是否单击了数组中的任何对象。所以他有一个功能Java 从Mouselistener返回布尔值,java,swing,button,jframe,boolean,Java,Swing,Button,Jframe,Boolean,类“board”想知道是否单击了数组中的任何对象。所以他有一个功能 private void CheckButtons() { for(int y = 0; y < yheight; y++) { for(int x = 0; x < xwith; x++) { if(_boardNodes[x][y].NodeClick()) { MoveIfICan(x
private void CheckButtons()
{
for(int y = 0; y < yheight; y++)
{
for(int x = 0; x < xwith; x++)
{
if(_boardNodes[x][y].NodeClick())
{
MoveIfICan(x,y);
}
}
}
}
这根本不起作用。所以我需要一个比这个失败的更好的解决方案的提示。
注意:我总是得到一个“点击按钮响应”,但是_isClicked将始终保持为false
//谢谢您是否了解,
mouseClicked
方法仅在单击发生时执行,这将在NodeClick
方法返回后执行?Swing是一个事件驱动的环境。也就是说,事件发生后,您会对其作出反应NodeClick
将始终返回false
。除了在mouseClicked
事件中,您应该执行所需的任何操作来突出显示此节点刚刚被单击的事实之外,没有足够的信息来提出真正的建议…确定,谢谢。我将改变程序的逻辑:pUnrelated:请学习java命名约定并坚持它们。
public boolean NodeClick()
{
_isClicked = false;
_clickAbleLabel.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e)
{
_isClicked = true;
System.out.println("Clicked button respons");
}
});
System.out.println("Is Clicked: " + _isClicked);
return _isClicked;
}