JavaFX BorderPane 将多个按钮设置为底部?
JavaFX BorderPane set multiple buttons to Bottom?
是否可以将多个Buttons
设置为Bottom
(左、中、右)?
这是我试过的:
private Pane createPane() {
BorderPane rootPane = new BorderPane();
rootPane.setTop(createMenueBar());
rootPane.setCenter(createTableView(model.getIssues()));
rootPane.setBottom(createDeleteIssueButton());
rootPane.setBottom(createCloseIssueButton());
rootPane.setBottom(createCreateNewIssueButton());
BorderPane.setAlignment(deleteIssueButton, Pos.BOTTOM_LEFT);
BorderPane.setAlignment(closeIssueButton, Pos.BOTTOM_CENTER);
BorderPane.setAlignment(createIssueButton, Pos.BOTTOM_RIGHT);
return rootPane;
}
结果:
如您所见,它只显示最后添加的 Button
。使用 JavaFX/BorderPane 完成这项工作的最佳方法是什么?我对此很陌生,所以如果您需要更多信息,请告诉我!
嵌套布局
将多个按钮收集到一个 layout manager。将该布局管理器对象放在 BorderPane
.
的底部位置
例如,您可以选择 FlowPane
作为布局管理器。
FlowPane buttons = new FlowPane() ;
buttons.getChildren().addAll( deleteIssueButton , closeIssueButton , createIssueButton ) ;
BorderPane
仅在底部插槽中放置一个小部件。您希望您的按钮容器成为那个小部件。
BorderPane rootPane = new BorderPane();
rootPane.setBottom( buttons ) ;
您对 Pos.BOTTOM_LEFT
等的使用决定了小部件在底部插槽中的放置位置。 BOTTOM_LEFT
中的 BOTTOM
表示槽中给定 space 的底部槽,而不是 BorderPane
的底部。这里涉及两种不同的底部。
BorderPane.setAlignment( buttons , Pos.CENTER ) ;
是否可以将多个Buttons
设置为Bottom
(左、中、右)?
这是我试过的:
private Pane createPane() {
BorderPane rootPane = new BorderPane();
rootPane.setTop(createMenueBar());
rootPane.setCenter(createTableView(model.getIssues()));
rootPane.setBottom(createDeleteIssueButton());
rootPane.setBottom(createCloseIssueButton());
rootPane.setBottom(createCreateNewIssueButton());
BorderPane.setAlignment(deleteIssueButton, Pos.BOTTOM_LEFT);
BorderPane.setAlignment(closeIssueButton, Pos.BOTTOM_CENTER);
BorderPane.setAlignment(createIssueButton, Pos.BOTTOM_RIGHT);
return rootPane;
}
结果:
如您所见,它只显示最后添加的 Button
。使用 JavaFX/BorderPane 完成这项工作的最佳方法是什么?我对此很陌生,所以如果您需要更多信息,请告诉我!
嵌套布局
将多个按钮收集到一个 layout manager。将该布局管理器对象放在 BorderPane
.
例如,您可以选择 FlowPane
作为布局管理器。
FlowPane buttons = new FlowPane() ;
buttons.getChildren().addAll( deleteIssueButton , closeIssueButton , createIssueButton ) ;
BorderPane
仅在底部插槽中放置一个小部件。您希望您的按钮容器成为那个小部件。
BorderPane rootPane = new BorderPane();
rootPane.setBottom( buttons ) ;
您对 Pos.BOTTOM_LEFT
等的使用决定了小部件在底部插槽中的放置位置。 BOTTOM_LEFT
中的 BOTTOM
表示槽中给定 space 的底部槽,而不是 BorderPane
的底部。这里涉及两种不同的底部。
BorderPane.setAlignment( buttons , Pos.CENTER ) ;