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