Ich versuche, JavaFX Mnemonic arbeiten zu lassen. Ich habe einen Button in der Szene und was ich erreichen möchte, ist dieses Button Event durch Drücken von Strg + S auszulösen. Hier ist ein Code sceleton:Verwenden von JavaFX 2.2 Mnemonic (und Beschleuniger)
@FXML
public Button btnFirst;
btnFirst.getScene().addMnemonic(new Mnemonic(btnFirst,
new KeyCodeCombination(KeyCode.S, KeyCombination.CONTROL_DOWN)));
Knopf des mnemonicParsing ist falsch. (Nun, während ich versuche, das zu machen, habe ich versucht, es auf wahr zu setzen, aber kein Ergebnis). Die JavaFX-Dokumentation besagt, dass, wenn eine Mnemonic in einer Szene registriert ist und die KeyCombination die unverbrauchte Szene erreicht, der Zielknoten ein ActionEvent gesendet wird. Aber das funktioniert nicht, wahrscheinlich mache ich falsch ...
Ich kann die mnemonic der Standard-Taste verwenden (indem Sie mnemonicParsing auf True und Präfix 'F' Buchstaben durch Unterstreichungszeichen). Aber auf diese Weise Benutzer muss Alt-Taste, die seltsames Verhalten in Browsern mit Menüleiste (wenn Anwendung in Web-Seite als Browser-Menü aktiviert ausgelöst wird nach dem Auslösen Schaltfläche Ereignis durch Drücken von Alt + S) seltsames Verhalten bringt. Außerdem macht es der Standard Weg unmöglich, Verknüpfungen wie Strg + Shift + F3 und so weiter zu machen.
Also, wenn es eine Möglichkeit gibt, dies zu tun?
jewelsea, danke yo u. Du hast absolut recht, Beschleuniger sind mein Anwendungsfall. Ich dachte fälschlicherweise, dass Beschleuniger mit Menüpunkten verbunden werden müssen. Danke für deine Lektion. – bes67
Hinweis: bevorzugen Sie "Verknüpfung" über "Kontrolle" (Windows) oder "Meta" (Mac), um Ihre Anwendung unabhängig von der Plattform zu halten. – Puce
Danke Puce, es ist gut, 'SHORTCUT_DOWN' statt' CONTROL_DOWN' zu verwenden. Ich habe die Antwort aktualisiert, um diese Empfehlung aufzunehmen. – jewelsea