为了账号安全,请及时绑定邮箱和手机立即绑定

将顶部菜单添加到以 JavaFX 为中心的网格窗格

将顶部菜单添加到以 JavaFX 为中心的网格窗格

慕尼黑8549860 2021-12-01 19:37:25
我对 JavaFX 很陌生。无论窗口如何调整大小,我都使用网格窗格使我的项目保持在页面的中心。我想添加一个沿着顶部运行的菜单。我很快发现 grid.setTop(menuBar) 不是网格窗格的成员函数。有没有办法做到这一点?我可以在一个场景中创建两种不同类型的窗格吗?IE,一个用于居中项目的 GridPane 和一个用于将菜单置于顶部的 BorderPane?或者我应该使用 CSS 样式来获取顶部的菜单栏?这是我正在使用的一些代码:public void start(Stage primaryStage) {    try {    primaryStage.setTitle("Bapu Inventory");    BorderPane root = new BorderPane();    GridPane grid = new GridPane();    grid.setAlignment(Pos.CENTER);    grid.setHgap(10);    grid.setVgap(10);    grid.setPadding(new Insets(25, 25, 25, 25));    Text scenetitle = new Text("Welcome");    grid.add(scenetitle, 0, 0, 1, 1);    MenuBar menuBar = new MenuBar();    menuBar.prefWidthProperty().bind(primaryStage.widthProperty());//This is the line I can't figure out. How do I get this to position at top left?    grid.setTop(menuBar);任何帮助将不胜感激。我查看了 Oracle 提供的文档,但没有在任何地方找到此功能。
查看完整描述

1 回答

?
慕斯709654

TA贡献1840条经验 获得超5个赞

检查这是否是您想要的:


public void start(Stage primaryStage) {

        try {

            BorderPane root = new BorderPane();


            //Create your menu

            final Menu menu1 = new Menu("File");

            final Menu menu2 = new Menu("Options");

            final Menu menu3 = new Menu("Help");

            MenuBar menuBar = new MenuBar();

            menuBar.getMenus().addAll(menu1, menu2, menu3);


            //Your GridPane

            GridPane grid = new GridPane();

            grid.setAlignment(Pos.CENTER);

            grid.setHgap(10);

            grid.setVgap(10);

            grid.setPadding(new Insets(25, 25, 25, 25));

            Text scenetitle = new Text("Welcome");

            grid.add(scenetitle, 0, 0, 1, 1);


            //Add them  to root (BorderPane)

            root.setTop(menuBar);

            root.setCenter(grid);



            Scene scene = new Scene(root,400,400);

            primaryStage.setScene(scene);

            primaryStage.show();

        } catch(Exception e) {

            e.printStackTrace();

        }

}


查看完整回答
反对 回复 2021-12-01
  • 1 回答
  • 0 关注
  • 165 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信