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

时间:2013-04-18 10:30:22

标签: java javafx-2 javafx

我是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方法吗?刚开始时,我想点击Exit时调用这种Java方法。

 public void programExit(){

       System.exit(0);

    }

1 个答案:

答案 0 :(得分: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);