【发布时间】:2019-08-13 23:03:46
【问题描述】:
我想将 StackPane 作为我的根窗格。我想在场景中间有一个scrollPane作为一个小盒子,在容器下方有两个按钮。
我试图通过编写以下代码来实现它:
private StackPane root = new StackPane();
private Scene scene = new Scene(root, 1366, 768);
public ContinueScreen() {
Button button1 = new ButtonBuilder("My Button1").setPrefWidth(200).build();
Button button2 = new ButtonBuilder("My Button2").setPrefWidth(200).build();
Button button3 = new ButtonBuilder("My Button3").setPrefWidth(200).build();
Button button4 = new ButtonBuilder("My Button4").setPrefWidth(200).build();
Button button5 = new ButtonBuilder("My Button5").setPrefWidth(200).build();
Button button6 = new ButtonBuilder("My Button6").setPrefWidth(200).build();
VBox vBox = new VBox(5);
vBox.getChildren().addAll(button1, button2, button3, button4, button5, button6);
ScrollPane scrollPane = new ScrollPane();
scrollPane.setContent(vBox);
scrollPane.setPannable(true);
scrollPane.setMaxSize(500, 180);
scrollPane.setVbarPolicy(ScrollPane.ScrollBarPolicy.ALWAYS);
scrollPane.setHbarPolicy(ScrollPane.ScrollBarPolicy.AS_NEEDED);
root.getChildren().add(scrollPane);
StackPane.setAlignment(scrollPane, Pos.CENTER);
}
您可能会注意到,代码确实可以正常工作,但是直到我添加了我正在谈论的下面的按钮。我在 HBox 中将这些按钮添加为
HBox hBox = new HBox(5);
hBox.setAlignment(Pos.BOTTOM_CENTER);
hBox.getChildren().addAll(new Button("cat"), new Button("dog"));
root.getChildren().addAll(hBox);
现在滚动窗格和两个按钮都显示了。但是,由于某种原因,滚动窗格现在停止工作。显示滚动窗格及其内容,但水平或垂直滚动,它们都不起作用。任何人都知道为什么会发生这种情况以及如何解决?
【问题讨论】: