如何在JavaFX菜单中调用Java方法

Pet*_*zov 1 java javafx javafx-2

我是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();
    }
Run Code Online (Sandbox Code Playgroud)

你能告诉我当我点击菜单时如何调用Java方法吗?刚开始时我想点击这个Java方法Exit.

 public void programExit(){

       System.exit(0);

    }
Run Code Online (Sandbox Code Playgroud)

Ser*_*nev 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);
Run Code Online (Sandbox Code Playgroud)