Verwenden von JavaFX 2.2 Mnemonic (und Beschleuniger)

8

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?

    
bes67 03.10.2012, 14:19
quelle

1 Antwort

20

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:

    
jewelsea 03.10.2012, 18:38
quelle

Tags und Links