javajavafxjavafx-2fxml

What is the "mnemonicParsing" attribute in Java FX


I have been working with SceneBuilder and I observe that it applies the attribute of mnemonicParsing and equates it to false for every Node that I make.

What exactly is it? What difference does it make in Layout.xml?


Solution

  • This refers to the Labeled.mnemonicParsing property. It registers a keyboard shortcut to activate the element (using the letter following _ in the text + Alt (Windows, don't know if it's the same key on other OS too)). E.g.

    Button btn = new Button();
    btn.setText("_Say 'Hello World'");
    btn.setMnemonicParsing(true);
    btn.setOnAction(new EventHandler<ActionEvent>() {
        
        @Override
        public void handle(ActionEvent event) {
            System.out.println("Hello World!");
        }
    });
    

    Will also print Hello World!, if the user presses Alt + S.

    This doesn't happen, if mnemnonicParsing is false. In this case the _ will also be displayed "normally" in the button instead of underlineing the following letter.