如何更改 Scroll JavaFX 上的输出流?

How to change Output Stream on Scroll JavaFX?

尝试使用鼠标滚动更改输出流,所以当我在窗格内单击时,它应该放置一个图像,在使用滚动后,它应该使用不同的图像。我已经玩了一会儿,但没有什么效果,我认为最简单的选择就是有一个下拉菜单和 select 大小,但这会有点不方便。

private void addPane(int colIndex, int rowIndex) {
    Pane pane = new Pane();

    pane.setOnMouseClicked(e -> {
        System.out.printf("You placed a ring on cell [%d, %d]%n", colIndex, rowIndex);
        Image image = new Image(Main.class.getResourceAsStream("R_bigRing.png"));

//Change the output of image
        // Image image = new Image(Main.class.getResourceAsStream("B_bigRing.png"));
        // Image image = new Image(Main.class.getResourceAsStream("Y_bigRing.png"));
        pane.getChildren().add(new ImageView(image));


    });
    grid.add(pane, colIndex, rowIndex);
}

你可以听 ScrollEvent Node

检查此代码

int selectedImagePosition = 1;
ImageView imageView;
Label label;

@Override
public void start(Stage primaryStage)
{
    VBox root = new VBox();
    Scene scene = new Scene(root, 400, 400);
    primaryStage.setScene(scene);

    this.imageView = new ImageView();
    imageView.setFitHeight(200);
    imageView.setFitWidth(200);
    File file = new File((selectedImagePosition+1) + ".png");
    imageView.setImage(new Image(file.toURI().toString()));
    this.label = new Label("Image : " + selectedImagePosition);

    setScrollEvent(imageView);

    root.getChildren().add(label);
    root.getChildren().add(imageView);

    primaryStage.show();
}


public void setScrollEvent(Node node)
{
    node.setOnScroll((ScrollEvent event) ->
    {

        if (event.getDeltaY() < 0)
            selectedImagePosition = selectedImagePosition+1 > 2 ? 0 : ++selectedImagePosition;
        else
            selectedImagePosition = selectedImagePosition-1 < 0 ? 2 : --selectedImagePosition;

        System.out.println("scrollEvent : " + selectedImagePosition);

        label.setText("Image : " + selectedImagePosition);
        File file = new File((selectedImagePosition+1) + ".png");
        imageView.setImage(new Image(file.toURI().toString()));

    });
}

注:

此代码使用了三个名为(1.png、2.png、3.png)的 png 类型的图像添加到项目的根目录中