Ich versuche, JavaFX Mnemonic funktionieren 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-Skelett:
%Vor%Button 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 geht nicht, wahrscheinlich mache ich falsch ...
Ich kann die Mnemonik der Standardschaltfläche verwenden (indem Sie mnemonicParsing auf "true" setzen und den Buchstaben "F" mit einem Unterstrich voranstellen). 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 Standardweg unmöglich, Verknüpfungen wie Strg + Umschalt + F3 usw. zu machen.
Also, wenn es eine Möglichkeit gibt, das zu funktionieren?
Für Ihren Anwendungsfall glaube ich, dass Sie eigentlich lieber einen Beschleuniger als einen Mnemonic verwenden möchten.
%Vor%In den meisten Fällen wird empfohlen, KeyCombination.SHORTCUT_DOWN als Modifikator zu verwenden, wie im obigen Code. Eine gute Erklärung dafür finden Sie in der KeyCombination Dokumentation:
>Der Shortcut-Modifikator wird verwendet, um den Modifier-Schlüssel darzustellen häufig in Tastaturkürzeln auf der Host-Plattform verwendet. Das ist für Beispielsteuerung unter Windows und Meta (Befehlstaste) auf dem Mac. Durch die Nutzung Shortcut Key Modifier Entwickler können plattformunabhängig erstellen Verknüpfungen. Also wird die Tastenkombination "Shortcut + C" intern behandelt als "Strg + C" unter Windows und "Meta + C" auf dem Mac.
Wenn Sie speziell codieren möchten, um nur eine Strg + S-Tastenkombination zu behandeln, könnten Sie Folgendes verwenden:
%Vor%Hier ist ein ausführbares Beispiel:
%Vor%Beispielausgabe: