Feuer-Taste den onAction-mit Enter in JavaFX

Ich bin ein Neuling auf JavaFx. In meinem JavaFX-Anwendung, die ich gesetzt habe, onAction-Eigenschaft, und es funktioniert, wenn ich die Taste drücken, mit der Maus. Ich will Feuer das gleiche, auch wenn der Benutzer die EINGABETASTE drücken der auf-Taste. Ich weiß, ich kann mit einer selbst-handler zu tun.
Aber wenn ich lese das onAction-JavaDoc heißt es, dass dieses Ereignis bekommen, Feuer, indem Sie eine Taste drücken.

Beschreibung der Immobilie:

Aktion der Schaltfläche, die wird aufgerufen, wenn
die Taste ausgelöst wird. Dies kann durch den Benutzer klicken Sie auf die
Schaltfläche mit der Maus oder einem touch-Ereignis, oder durch drücken einer Taste, oder wenn
der Entwickler programmatisch ruft das Feuer () - Methode.

Aber wenn ich die Enter-Taste drücken, geschieht nichts. Ist es Fehler in der Dokumentation? Gibt es irgendeine andere Möglichkeit das zu erreichen ohne das hinzufügen alistener auf den button?

P. S

Nachdem die Kommentare, die ich überprüft, mit der space-Taste, dann wird er gefeuert. Aber ich möchte zu setzen, um die Enter-Taste.
Ich habe viele Knöpfe. Ich habe versucht button.setDefaultButton(true); aber es ist nicht gefeuert. Ich denke, das ist becacuse es gibt mehr als einen Knopf. Wenn ich es nur auf einen einzigen button funktioniert es einwandfrei. Wie Sie festlegen, dass mehrere Tasten?

  • Hat der button den Fokus hat, wenn Sie die Taste drücken? Auf Windows 7, das action-Ereignis wird nur gefeuert, wenn ich drücken Sie die space-Taste.
  • ja. Ich setzt den Fokus auf die Taste vor dem drücken der Taste
  • Ist der handler wird aufgerufen, wenn Sie drücken Sie die Leertaste anstelle der EINGABETASTE?
  • Siehe - Taste.defaultButtonProperty()
  • Auch "Taste drücken" in docs können sich auf die mnemonicParsingProperty.
  • Ja, Es arbeitete für space-Taste. wie kann ich das geändert, zu Betreten,
  • Ich habe eine Idee, die Sie sollten, um zu testen. btn.defaultButtonProperty().bind(btn.focusedProperty())
  • Schön verbindlich. Sollte dies funktionieren !
  • Vielen Dank. Es hat geklappt :D. Wenn Ihr das als Antwort werde ich es akzeptieren 🙂
  • Nur einen moment :~)

Schreibe einen Kommentar