1

我是 JavaFX 的新手。我创建了这个简单的菜单。

MenuBar menuBar = new MenuBar();

        // File menu - new, save, exit
        Menu menu = new Menu("File");
        menu.getItems().add(new MenuItem("New"));
        menu.getItems().add(new MenuItem("Save"));
        menu.getItems().add(new SeparatorMenuItem());
        menu.getItems().add(new MenuItem("Exit"));

        menuBar.getMenus().add(menu);

        // Options menu - Preferences
        Menu options = new Menu("Options");
        options.getItems().add(new MenuItem("Preferences"));

        menuBar.getMenus().add(options);

        // Help menu - About
        Menu help = new Menu("Help");
        help.getItems().add(new MenuItem("About"));

        menuBar.getMenus().add(help);

        menuBar.prefWidthProperty().bind(primaryStage.widthProperty());

        root.getChildren().add(menuBar);
        primaryStage.setScene(scene);
        primaryStage.show();
    }

您能告诉我单击菜单时如何调用 Java 方法吗?刚开始我想在单击时调用此 Java 方法Exit

 public void programExit(){

       System.exit(0);

    }
4

1 回答 1

6

而不是menu.getItems().add(new MenuItem("Exit"));写:

MenuItem menuItem = new MenuItem("Exit");
menuItem.setOnAction(new EventHandler<ActionEvent>() {
    @Override public void handle(ActionEvent e) {
        System.exit(0);
    }
});
menu.getItems().add(menuItem);
于 2013-04-18T10:34:25.287 回答