gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 10:19:45 24 4
gpt4 key购买 nike

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

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对于节点

检查这段代码

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 图像

关于java - 如何更改 Scroll JavaFX 上的输出流?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48487395/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com