What is the "mnemonicParsing" attribute in Java FX

Tilak Maddy picture Tilak Maddy · Apr 25, 2016 · Viewed 12.8k times · Source

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?

Answer

fabian picture fabian · Apr 25, 2016

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 printed "normally" instead of underlineing the following letter.