Java 是否可以将数组中的索引与颜色进行比较?

Java 是否可以将数组中的索引与颜色进行比较?,java,arrays,colors,rectangles,Java,Arrays,Colors,Rectangles,我正在尝试编写一个棋盘游戏,并用for循环创建了棋盘。现在,我可以点击一个矩形并改变它的颜色。现在,我想让它,如果我点击一个矩形,它是一个特定的颜色改变它为一个特定的颜色。例如,如果它是蓝色的,那么就把它变成灰色。然而,我得到了equals()的错误不太可能的参数类型:颜色似乎与矩形无关,而我的正方形变为黑色。这是我的密码。多谢各位 public void game (MouseEvent eventGame) { for(Rectangle r: rectangles) {

我正在尝试编写一个棋盘游戏,并用for循环创建了棋盘。现在,我可以点击一个矩形并改变它的颜色。现在,我想让它,如果我点击一个矩形,它是一个特定的颜色改变它为一个特定的颜色。例如,如果它是蓝色的,那么就把它变成灰色。然而,我得到了equals()的错误
不太可能的参数类型:颜色似乎与矩形无关,而我的正方形变为黑色。这是我的密码。多谢各位

public void game (MouseEvent eventGame) {
    for(Rectangle r: rectangles) {
        if (r.equals(Color.BLUE)) {
            r.setOnMouseClicked(event->{
                r.setFill(Color.GREY);
            });
        } else { r.setOnMouseClicked(event->{
                r.setFill(Color.BLACK);
            });}
    }
}
我还应该提到,在创建数组时,我是这样做的:
r.setFill(Color.BLUE)
r、 等于(颜色。蓝色)

您正在尝试将矩形实例与颜色类型进行比较。从矩形的API来看,其equals方法描述如下:

检查两个矩形是否相等。 当且仅当参数不为null且是与此矩形具有相同左上角、宽度和高度的矩形对象时,结果为真

相反,您需要通过调用

r、 getFill().equals(Color.WHITE)

(见下文)

希望我能帮助你。

打电话给你

r、 等于(颜色。蓝色)

您正在尝试将矩形实例与颜色类型进行比较。从矩形的API来看,其equals方法描述如下:

检查两个矩形是否相等。 当且仅当参数不为null且是与此矩形具有相同左上角、宽度和高度的矩形对象时,结果为真

相反,您需要通过调用

r、 getFill().equals(Color.WHITE)

(见下文)


希望,我能帮你。

比较rgb代码。你不是在比较“索引到颜色”,这已经毫无意义,而是在比较矩形和颜色。这就像比较香蕉和米老鼠。您可能希望获得矩形填充颜色。为什么该方法需要一个
eventGame
参数,并遍历所有
矩形
设置它们各自的
鼠标点击
处理程序?看起来真的很复杂而且没有必要。什么类是矩形?是JavaFX吗?比较rgb代码。你不是在比较“一个索引到一种颜色”,这已经毫无意义了,而是在比较一个矩形和一种颜色。这就像比较香蕉和米老鼠。您可能希望获得矩形填充颜色。为什么该方法需要一个
eventGame
参数,并遍历所有
矩形
设置它们各自的
鼠标点击
处理程序?看起来真的很复杂而且没有必要。什么类是矩形?是JavaFX吗?