使窗格在JavaFX中可滚动

时间:2017-11-25 16:06:02

标签: javafx

请告诉我,如何使窗格可滚动?我能够使图像可滚动,如下所示:

        VBox root = new VBox();
        ScrollPane sp = new ScrollPane();
        sp.setContent(new ImageView(new Image(getClass().getResourceAsStream("test.png"))));
        root.getChildren().add(sp);

但是当我试图让整个窗格可滚动时,它包含一些按钮和一个小动画,滚动条没有任何关系。没有滚动条。我该如何解决?

提前谢谢。

1 个答案:

答案 0 :(得分:0)

我试图自己做,因为你的滚动窗格有固定的宽度和高度,通过调整窗口大小,你的scroll pane不会自行调整大小。您可以使用anchor pane,因此滚动窗格将使用anchor pane调整大小。你可以这样做:

    ImageView image = new ImageView(new Image("wp1951596.jpg"));
    ScrollPane scrollPane = new ScrollPane();
    scrollPane.setContent(image);
    scrollPane.setPrefSize(400, 400);
    AnchorPane.setTopAnchor(scrollPane, 0.);
    AnchorPane.setRightAnchor(scrollPane, 0.);
    AnchorPane.setBottomAnchor(scrollPane, 0.);
    AnchorPane.setLeftAnchor(scrollPane, 0.);
    rootPane.getChildren().add(scrollPane);

我还建议你使用带有.fxml文件的JavaFX。然后,您可以在SceneBuilder中创建布局,它将使一切变得更容易,更快。