2016-04-25 11 views
6

Ich habe mit SceneBuilder gearbeitet und ich beobachte, dass es das Attribut mnemonicParsing anwendet und es false für jede Node, die ich mache, gleichstellt.Was ist das "MnemonicParsing" Attribut in Java FX

Was genau ist das? Welchen Unterschied macht es in Layout.xml?

+0

Related: [JavaFX Menü - erster Buchstabe, unterstreichen Dekoration] (http://stackoverflow.com/questions/24499500/javafx-menu-first-letter-underline-decoration) – jewelsea

Antwort

13

Dies bezieht sich auf die Labeled.mnemonicParsing property. Es registriert eine Tastenkombination, um das Element zu aktivieren (mit dem folgenden Buchstaben _ in der text + Alt (Windows, weiß nicht, ob es der gleiche Schlüssel auch auf anderen Betriebssystemen ist)). Z.B.

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 auch Hello World! drucken, wenn der Benutzer Alt drückt + S.

Dies geschieht nicht, wenn mnemnonicParsingfalse ist. In diesem Fall wird _ auch "normal" gedruckt, anstatt den folgenden Buchstaben zu unterstreichen.