package keycombodemo; import javafx.application.Application; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.Scene; import javafx.scene.control.Menu; import javafx.scene.control.MenuBar; import javafx.scene.control.MenuItem; import javafx.scene.input.KeyCode; import javafx.scene.input.KeyCodeCombination; import javafx.scene.input.KeyCombination; import javafx.scene.layout.BorderPane; import javafx.scene.paint.Color; import javafx.scene.text.Font; import javafx.scene.text.FontWeight; import javafx.scene.text.Text; import javafx.stage.Stage; /** * This Program is Designed to Demo the use * of Key Combinations in a JavaFX Application. * @author Nathan Howard */ public class KeyComboDemo extends Application { @Override public void start(Stage primaryStage) { /** * Create the Text. */ BorderPane root = new BorderPane(); Text text = new Text("BEFORE"); root.setCenter(text); /** * Create a Menu. */ MenuBar menuBar = new MenuBar(); Menu mainMenu = new Menu("File"); MenuItem exitCmd = new MenuItem("Exit"); MenuItem textCmd = new MenuItem("Colour Text"); mainMenu.getItems().addAll(textCmd, exitCmd); menuBar.getMenus().add(mainMenu); root.setTop(menuBar); /** * Setup MenuItem Listeners. */ //Handler to exit the application exitCmd.setOnAction(new EventHandler() { @Override public void handle(ActionEvent e) { primaryStage.close(); } }); //Handler to style the text textCmd.setOnAction(new EventHandler() { @Override public void handle(ActionEvent e) { text.setFill(Color.BLUE); text.setText("AFTER"); text.setFont(Font.font("SansSerif", FontWeight.NORMAL,24)); } }); /** * Setup KeyCombinations. */ exitCmd.setAccelerator(new KeyCodeCombination(KeyCode.E, KeyCombination.CONTROL_DOWN)); textCmd.setAccelerator(new KeyCodeCombination(KeyCode.C, KeyCombination.CONTROL_DOWN)); /** * Finalise the Stage. */ primaryStage.setTitle("KeyCombo Demo"); Scene scene = new Scene(root, 300, 250); primaryStage.setScene(scene); primaryStage.show(); } /** * @param args the command line arguments */ public static void main(String[] args) { launch(args); } }