我是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);
}
答案 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);