Javafx 如何在每次单击窗格时添加不同的图形?

Javafx 如何在每次单击窗格时添加不同的图形?,javafx,Javafx,每次单击时,我都需要按此顺序向窗格中添加正方形、圆形和矩形,因此在第一次单击时,我将添加正方形,在第二次单击时添加圆形,第三次单击时添加矩形,第四次单击时再次添加方形,依此类推 r1.setOnMouseClicked((T) -> { if (T.getClickCount() == 1 || (T.getClickCount()%2 != 0 && T.getClickCount() % 3 != 0)) {

每次单击时,我都需要按此顺序向窗格中添加正方形、圆形和矩形,因此在第一次单击时,我将添加正方形,在第二次单击时添加圆形,第三次单击时添加矩形,第四次单击时再次添加方形,依此类推

  r1.setOnMouseClicked((T) -> {
 if (T.getClickCount() == 1 || (T.getClickCount()%2 != 0 && T.getClickCount() % 3 != 0))
             {
                 Rectangle r = new Rectangle(T.getSceneX(), T.getSceneY(), 50, 50);
                 root.getChildren().add(r);
             }
         else if (T.getClickCount()%2 == 0 && T.getClickCount() % 3 != 0) {

             Circle c1 = new Circle(T.getSceneX(), T.getSceneY(), 50);
             root.getChildren().add(c1);

        }
          else if (T.getClickCount()%2 != 0 && T.getClickCount() % 3 == 0) {

             Rectangle r3  = new Rectangle(T.getSceneX(), T.getSceneY(), 40, 70);
             root.getChildren().add(r3); 
        }
    });

我已使用上述代码完成了此示例:

import javafx.scene.layout.*;
import javafx.scene.*;
import javafx.stage.*;
import javafx.scene.shape.*;
import javafx.application.Application;
import javafx.scene.paint.Color;

public class Test1 extends Application{
    private int count = 0;
    @Override
    public void start(Stage primaryStage) {
        StackPane root = new StackPane();
        Scene scene = new Scene(root, 300, 250);
        primaryStage.setTitle("Hello World!");
        primaryStage.setScene(scene);
        primaryStage.show();

        Pane canvas = new Pane();
        canvas.setStyle("-fx-background-color: black;");
        canvas.setPrefSize(350,250);
        canvas.setOnMouseClicked((t) -> {
            count ++;
            System.out.println("".format("%s %s %s", count, t.getSceneX(), t.getSceneY()));
            if (count == 1 || (count%2 != 0 && count % 3 != 0))
            {
                Rectangle r = new Rectangle(50, 50, Color.RED);
                r.relocate(t.getSceneX(),t.getSceneY());
                canvas.getChildren().add(r);
            }
            else if (count%2 == 0 && count % 3 != 0) {

                Circle c1 = new Circle(50,Color.GREEN);
                c1.relocate(t.getSceneX(), t.getSceneY());
                canvas.getChildren().add(c1);

            }
            else if (count%2 != 0 && count % 3 == 0) {

                Rectangle r3  = new Rectangle(40, 70, Color.PINK);
                r3.relocate(t.getSceneX(), t.getSceneY());
                canvas.getChildren().add(r3); 
            }
        });

        root.getChildren().addAll(canvas);
     }
     public static void main(String[] args) {
        launch(args);
     }
 }

你有什么代码要显示吗?事实上,没有,这是一个项目的一部分,我真的不知道如何做,我尝试使用GetClickCount(),但它对我不起作用。我只是添加了我尝试过的代码。当然,GetClickCount返回你完成的点击次数(快速),当你停止点击计数器时,计数器重置为0哦,好的,那么我怎样才能得到总点击量呢,有什么方法吗?