簡體   English   中英

JavaFX:如何設計在每個正方形上都有事件處理程序的象棋桌

[英]JavaFX: how to design a chess table with event handler on each square

如何在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!");
    }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM