Verwenden Sie KeyEvent in JavaFX

MD Aminul Islam 15 Februar 2024
Verwenden Sie KeyEvent in JavaFX

Das KeyEvent wird verwendet, um einen Tastendruck zu erkennen und einen bestimmten Codeblock auszuführen, wenn die Taste gedrückt wird.

Dieser Artikel zeigt, wie man ein Tastenereignis erstellt und einen einfachen Code ausführt, wenn ein Benutzer eine Taste drückt. Wir werden auch ein einfaches Beispiel sehen, um es leichter verständlich zu machen.

Verwenden Sie KeyEvent in JavaFX

Das allgemeine Format zum Erstellen von Schlüsselereignissen ist unten dargestellt.

scene.setOnKeyPressed(
    (KeyEvent event)
        -> {
            // Create a key event that execute when any key pressed from your keyboard
            //  Add the actions that we are going to take when a key pressed.
        });

Wir werden ein Beispiel sehen, das den Tastendruck des Benutzers erkennt und eine Meldung anzeigt, dass eine Taste gedrückt wurde.

Der Quellcode unseres Beispiels sieht wie folgt aus, und wir beschreiben jede Zeile, indem wir die erforderlichen Befehle bereitstellen. Werfen wir einen Blick.

import javafx.application.Application; // Package to create application
import javafx.scene.Scene; // Package to create a scene
import javafx.scene.control.Label; // Package to create a label
import javafx.scene.input.KeyEvent; // Package to create a key event
import javafx.scene.layout.HBox; // Package for the Hbox
import javafx.stage.Stage; // Package to create a stage

public class FxKeyListen extends Application {
  Label lbl; // Declares a label
  HBox _hbox; // Declares a HBox.

  public void start(Stage SimpleStage) throws Exception {
    SimpleStage.setTitle(
        "Detect key event"); // Set the application title which is "Detect key event"
    lbl =
        new Label("No key is pressed !!!"); // Create a label with default text "No key pressed !!!"
    _hbox = new HBox(lbl); // Create a HBox  with a label
    Scene scene = new Scene(_hbox, 400, 400); // Create a scene with HBox and necessary dimentions.

    scene.setOnKeyPressed(
        (KeyEvent event)
            -> { // Create a key event that execute when any key pressed from your keyboard
          lbl.setText("Key press detected !!!"); // The actions that we are going to take when a key
                                                 // pressed. In our case we are changing the label
                                                 // text to "Key press detected !!!"
        });
    SimpleStage.setScene(scene); // Set the scene
    SimpleStage.show(); // Visualize the scent
  }

  public static void main(String[] args) {
    Application.launch(args); // Run our application
  }
}

Wir haben bereits den Zweck jeder Zeile befohlen. Lassen Sie uns nun erklären, wie der Code funktioniert.

Wir haben auf unserem Code ein Etikett mit dem Standardtext Keine Taste gedrückt !!! erstellt. durch die Zeile lbl = new Label ("Keine Taste gedrückt !!!");. Dieses Etikett soll dem Benutzer zeigen, dass keine Taste gedrückt wird.

Dann haben wir ein einfaches Tastendruck-Ereignis als Aktion erstellt, die ausgeführt wird, wenn der Benutzer eine Taste auf seiner Tastatur drückt; Wir ändern den Standardtext des Labels und setzen ihn auf Tastendruck erkannt !!!. Zu diesem Zweck fügt der Code also als Aktion folgendes hinzu: lbl.setText("Tastendruck erkannt !!!");.

Wenn Sie nun den Code nach erfolgreicher Kompilierung ausführen, öffnet sich ein Fenster mit dem Titel Tastenereignis erkennen, und nachdem Sie eine Taste auf Ihrer Tastatur gedrückt haben, sehen Sie eine Ausgabe wie die folgende.

Ausgang:

javafx-Keylistener-Ausgabe

Denken Sie daran, falls Ihre IDE das automatische Einbinden von Bibliotheken nicht unterstützt. Dann müssen Sie möglicherweise die erforderlichen Bibliotheksdateien vor dem Kompilieren manuell einbinden.

MD Aminul Islam avatar MD Aminul Islam avatar

Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.

LinkedIn

Verwandter Artikel - Java JavaFX