Java tutorial
import java.io.File; import java.io.FileInputStream; import java.util.ResourceBundle; import javafx.application.Application; import javafx.event.ActionEvent; import javafx.fxml.FXML; import javafx.fxml.FXMLLoader; import javafx.fxml.Initializable; import javafx.scene.Parent; import javafx.scene.Scene; import javafx.scene.control.MenuBar; import javafx.scene.input.InputEvent; import javafx.scene.input.KeyCode; import javafx.scene.input.KeyEvent; import javafx.stage.Stage; public class Main extends Application { public static void main(String[] arguments) { Application.launch(Main.class, arguments); } @Override public void start(final Stage stage) throws Exception { FXMLLoader f = new FXMLLoader(); final Parent fxmlRoot = (Parent) f.load(new FileInputStream(new File("JavaFx2Menus.fxml"))); stage.setScene(new Scene(fxmlRoot)); stage.show(); } } <?xml version="1.0"encoding="UTF-8"?> <?import java.lang.*?><? import javafx.scene.*?><? import javafx.scene.control.*?><? import javafx.scene.layout.*?> <VBox id="vbox"prefHeight="400"prefWidth="800"xmlns:fx="http://javafx.com/fxml"fx:controller="MenuController"><MenuBar fx:id="menuBar"onKeyPressed="#handleKeyInput"><menus><Menu text="File"> <items><MenuItem text="New"/><MenuItem text="Open"/><MenuItem text="Save"/><MenuItem text="Save As"/> <SeparatorMenuItem /><MenuItem text="Exit"/> </items> </Menu><Menu text="Edit"> <items><MenuItem text="Copy"/><MenuItem text="Cut"/><MenuItem text="Paste"/> </items> </Menu><Menu text="Help"> <items><MenuItem text="Search"disable="true"/><MenuItem text="Online Manual"visible="false"/><SeparatorMenuItem/><MenuItem text="About"onAction="#handleAboutAction"/></items></Menu></menus></MenuBar></VBox> import java.util.ResourceBundle; import javafx.event.ActionEvent; import javafx.fxml.FXML; import javafx.fxml.Initializable; import javafx.scene.control.MenuBar; import javafx.scene.input.InputEvent; import javafx.scene.input.KeyCode; import javafx.scene.input.KeyEvent; public class MenuController implements Initializable { @FXML private MenuBar menuBar; /** * Handle action related to "About" menu item. * * @param event Event on "About" menu item. */ @FXML private void handleAboutAction(final ActionEvent event) { provideAboutFunctionality(); } /** * Handle action related to input (in this case specifically only responds to * keyboard event CTRL-A). * * @param event Input event. */ @FXML private void handleKeyInput(final InputEvent event) { if (event instanceof KeyEvent) { final KeyEvent keyEvent = (KeyEvent) event; if (keyEvent.isControlDown() && keyEvent.getCode() == KeyCode.A) { provideAboutFunctionality(); } } } /** * Perform functionality associated with "About" menu selection or CTRL-A. */ private void provideAboutFunctionality() { System.out.println("You clicked on About!"); } @Override public void initialize(java.net.URL arg0, ResourceBundle arg1) { menuBar.setFocusTraversable(true); } }