javafx:如何在fxml视图的同一场景中设置菜单栏

lrl1mhuk  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(398)

我想从我的borderpane添加我的菜单栏,但问题实际上是我在初级阶段加载了我的视图(fxml)。我想在视图顶部添加菜单栏:

Parent root = FXMLLoader.load(getClass().getResource("/view/home/home.fxml"));

// Create MenuBar
MenuBar menuBar = new MenuBar();

// Create menus
Menu fileMenu = new Menu("File");
Menu editMenu = new Menu("Edit");
Menu helpMenu = new Menu("Help");

BorderPane rootTop = new BorderPane();
rootTop.setTop(menuBar);

primaryStage.setScene(new Scene(root, 900, 600));
primaryStage.setScene(new Scene(rootTop, 900, 600));

primaryStage.show();
yhuiod9q

yhuiod9q1#

此代码:

primaryStage.setScene(new Scene(root, 900, 600));
primaryStage.setScene(new Scene(rootTop, 900, 600));

设置场景两次。第二个 Scene 重写第一个,因此您将无法看到加载的fxml。
你能做的就是把你的fxml嵌入到你的 BorderPane :

BorderPane rootTop = new BorderPane();
rootTop.setTop(menuBar);
rootTop.setCenter(root);

primaryStage.setScene(new Scene(rootTop, 900, 600));

primaryStage.show();

相关问题