Как рисовать шахматный стол в java?
Я думал, что использование TilePane
будет в порядке.
Мне также удалось разместить квадраты внутри TilePane
.
Но когда щелкнул один из квадратов, он должен изменить цвет. (т.е. от черного до красного или наоборот). В этом примере я использовал Circle
вместо Rectangle
:
circle.setOnMouseClicked(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
System.out.println("Mouse Clicked!"));
}
});
показывает сообщение, но я не могу изменить какие-либо свойства circle
Предполагая, что вы объявили @FXML Circle circle;
в вашем контроллере fxml и что ваш круг имеет соответствующий fx: id, вы можете использовать следующее, чтобы изменить цвет круга. Убедитесь, что у вас есть правильный импорт javafx.scene.paint.Color
.
circle.setOnMouseClicked(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
if (circle.getFill() == Color.RED)
circle.setFill(Color.BLACK);
else
circle.setFill(Color.RED);
System.out.println("Mouse Clicked!");
}
});