繁体   English   中英

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 完成此任务的最佳方法是什么? 我对此很陌生,所以如果您需要更多信息,请告诉我!

嵌套布局

将多个按钮收集到一个布局管理器中。 将布局管理器 object 放在BorderPane的底部 position 中。

例如,您可以选择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表示插槽内给定空间的底部插槽,而不是BorderPane的底部。 这里涉及两个不同的底部。

BorderPane.setAlignment( buttons , Pos.CENTER ) ;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM