javafx-Tastatur-Ereignis-Tastenkombination
Möchte ich hinzufügen, dass die Tastatur-shortcut-Taste in javafx.
habe ich Szene und implementieren möchten, die Tastenkombination
mein code ist wie folgt
getApplication().getScene().setOnKeyPressed(new EventHandler<KeyEvent>() {
public void handle(KeyEvent ke) {
if (ke.getCode() == KeyCode.ESCAPE) {
System.out.println("Key Pressed: " + ke.getCode());
}
}
});
Wo ist das problem ?
meine Szene ist getApplication().getScene() und ich bin nicht immer wichtige Veranstaltung in diesem
Was ist
Sind Sie auf der Suche nach einem globalen shortcut-Taste (eine Taste, die funktioniert in allen locations in Ihrer Anwendung) oder ein Schlüssel, der arbeitet in einem engeren Rahmen?
ja, ich bin auf der Suche für diese Art von shortcut-Taste
meine Szene ist getApplication().getScene() und ich bin nicht immer wichtige Veranstaltung in diesem
Was ist
getApplication()
tun ? Ist es die Rückgabe einer Instanz der Anwendung ? Können Sie nach einer SSCCE der Darstellung Ihres Problems ?Sind Sie auf der Suche nach einem globalen shortcut-Taste (eine Taste, die funktioniert in allen locations in Ihrer Anwendung) oder ein Schlüssel, der arbeitet in einem engeren Rahmen?
ja, ich bin auf der Suche für diese Art von shortcut-Taste
InformationsquelleAutor Himanshu verma | 2014-08-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Veranstaltungen, Reisen, aus der Szene zu den fokussierten Knoten (Ereignis erfassen) und dann wieder zurück in die Szene (event-bubbling). Ereignis-filter ausgelöst werden während der Veranstaltung einfangen, während onKeyPressed und event-handler ausgelöst werden, bei event-bubbling. Einige Steuerelemente (z.B. TextField) verbrauchen, der Fall, so kommt es nie wieder zurück in die Szene, d.h. Ereignis-bubbling ist abgebrochen und onKeyPressed für die Szene funktioniert nicht.
Bekommen alle - Taste gedrückt Ereignisse verwenden addEventFilter Methode:
Wenn Sie möchten, zu erfassen Tastenkombinationen verwenden Sie die KeyCodeCombination Klasse:
Gibt es auch die Möglichkeit zum hinzufügen von Verknüpfungen zu den Menü durch die Einstellung eines Beschleunigers (siehe [2]).
Referenzen
InformationsquelleAutor user2229691
Ich bin mir nicht sicher, was Sie tun mit
getApplication
, aber nur um zu zeigen, dassKeyEventHandler
aufScene
funktioniert, hier ist ein demo für Sie.Sie können die Szene, in der ein controller entweder mit ihm eine
fx:id
oder nehmen Sie ein Bestandteil der Szene Ihrer Wahl und machenmyComponent.getScene()
. Oder Sie können dieonKeyPressed
Eigenschaft/Methode/Aktion der Szene, in der fxml-Datei (oder über SceneBuilder).InformationsquelleAutor ItachiUchiha