Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从Mouselistener返回布尔值_Java_Swing_Button_Jframe_Boolean - Fatal编程技术网

Java 从Mouselistener返回布尔值

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

类“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,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;

}