JAVA FX:如何在fxml视图的同一场景中设置菜单栏
JAVA FX : How to set menubar in same scene of fxml view
我想从我的边框面板添加我的菜单栏,但问题实际上是我在初级阶段加载了我的视图 (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();
此代码:
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();
我想从我的边框面板添加我的菜单栏,但问题实际上是我在初级阶段加载了我的视图 (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();
此代码:
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();