我无法在屏幕顶部将 JavaFX MenuBar 显示为标准的 OS X 菜单栏。
这是我在应用程序的子类中尝试过的:
public void start(Stage primaryStage) throws Exception {
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);
menuBar.setUseSystemMenuBar(true);
primaryStage.setTitle("Creating Menus with JavaFX 2.0");
final Group rootGroup = new Group();
final Scene scene = new Scene(rootGroup, 800, 400, Color.WHEAT);
rootGroup.getChildren().add(menuBar);
primaryStage.setScene(scene);
primaryStage.show();
}
我假设使用
menuBar.setUseSystemMenuBar(true);
会做的伎俩,但实际上它使 menuBar 完全消失。
我在 OS X 10.9 上使用 Java 1.8.0-b132
最佳答案
我已经成功使用此代码:
MenuBar menuBar = new MenuBar();
final String os = System.getProperty("os.name");
if (os != null && os.startsWith("Mac"))
menuBar.useSystemMenuBarProperty().set(true);
BorderPane borderPane = new BorderPane();
borderPane.setTop(menuBar);
primaryStage.setScene(new Scene(borderPane));
关于javafx-2 - 如何在 JavaFX 中制作 OS X 菜单栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22569046/