import javafx.application.Application; import javafx.beans.value.ChangeListener; import javafx.beans.value.ObservableValue; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.Scene; import javafx.scene.control.*; import javafx.scene.layout.HBox; import javafx.scene.layout.VBox; import javafx.stage.Stage; public class MnemonicsTest extends Application { public static void main(String[] args) { Application.launch(args); } VBox root = new VBox(); @Override public void start(final Stage stage) throws Exception { VBox mainLayout = new VBox(); MenuBar menuBar = new MenuBar(); Menu menu1 = new Menu("_Menu"); menu1.setMnemonicParsing(true); menu1.getItems().addAll(createMenuItem("Menu 1"), createMenuItem("Menu 2")); Menu menu2 = new Menu("_Other"); menu2.setMnemonicParsing(true); menu2.getItems().addAll(createMenuItem("Other 1"), createMenuItem("Other 2")); menuBar.getMenus().setAll(menu1, menu2); mainLayout.getChildren().setAll(menuBar); Label label = new Label("_Label"); label.setMnemonicParsing(true); Button button = new Button("Button"); EventHandler eventHandler = new EventHandler() { @Override public void handle(ActionEvent actionEvent) { System.out.println(actionEvent.getSource() + " fired"); } }; button.setOnAction(eventHandler); final Label labelX = new Label("_XLabel"); labelX.setMnemonicParsing(true); final Button buttonX = new Button("Button X"); buttonX.setOnAction(eventHandler); Button setLabelFor = new Button("Set label X for button X"); setLabelFor.setOnAction(new EventHandler() { @Override public void handle(ActionEvent actionEvent) { labelX.setLabelFor(buttonX); } }); label.setLabelFor(button); mainLayout.getChildren().add(label); mainLayout.getChildren().add(button); HBox containerX = new HBox(4); containerX.getChildren().addAll(labelX, buttonX, setLabelFor); mainLayout.getChildren().add(containerX); Scene scene = new Scene(mainLayout, 300, 100); stage.setTitle("Demo of mnemonic"); stage.setScene(scene); stage.sizeToScene(); stage.show(); } private MenuItem createMenuItem(String s) { return new MenuItem(s); } }