setOnAction-Methode in JavaFX

MD Aminul Islam 15 Februar 2024
setOnAction-Methode in JavaFX

Ohne das Erstellen einer Aktion ist die Benutzeroberfläche nichts. Eine Aktion ist ein Systemprozess, der initiiert wird, wenn ein Benutzer dem System befiehlt, eine bestimmte Aufgabe auszuführen.

In JavaFX können wir eine Aktion hinzufügen, indem wir die Methode setOnAction() verwenden.

In diesem Artikel werden wir sehen, wie wir eine Aktion für jede UI-Komponente erstellen können. Außerdem sehen wir ein Beispiel mit einer Erklärung, um das Thema verständlicher zu machen.

Verwenden Sie die setOnAction-Methode in JavaFX

In unserem Beispiel unten haben wir gerade eine einfache Benutzeroberfläche mit zwei grundlegenden UI-Komponenten erstellt, label und button. Der Code für unser Beispiel sieht wie folgt aus.

// Importing necessary packages
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.layout.HBox;
import javafx.stage.Stage;

public class FXsetAction extends Application {
  Button Btn; // Decleares a button
  Label lbl; // Decleares a lebel
  Scene scene; // Decleares a scent
  HBox _hbox; // Decleares a Hbox

  public void start(Stage PrimaryStage) throws Exception {
    PrimaryStage.setTitle("JavaFX setOnAction"); // Set the application title
    lbl = new Label("Button not clicked"); // Create a label with default text "No click found"
    Btn = new Button("Click"); // Create a button with label "Click"

    Btn.setOnAction(value -> { // Button action handler function
      lbl.setText("Button Clicked!!!"); // When the button clicked, it will change the lable default
                                        // text from "No click found" to "Clicked!!!".
    });

    _hbox = new HBox(Btn, lbl); // Create a HBox

    scene = new Scene(_hbox, 400, 300); // Create a scene with HBox and necessary height and weight
    PrimaryStage.setScene(scene); // Set scene
    PrimaryStage.show(); // Visualize the application
  }

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

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

Wir haben in unserem Code ein Label mit dem Standardtext Button not clicked durch die Zeile lbl = new Label ("Button not clicked"); erstellt. Der Zweck dieses Labels besteht darin, dem Benutzer die Meldung anzuzeigen, dass eine Taste gedrückt wird.

Dann haben wir ein einfaches Tastendruck-Ereignis erstellt. Als Aktion, die ausgeführt wird, wenn der Benutzer eine Taste auf seiner Tastatur drückt, haben wir den Standardtext der Beschriftung geändert und auf Button Clicked!!! gesetzt.

Zu diesem Zweck fügt der Code also eine Aktion lbl.setText("Button Clicked!!!"); hinzu.

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

Ausgang:

setOnAction JavaFX-Ausgabe

Denken Sie daran, wenn Ihre IDE das automatische Einschließen von Bibliotheken und Paketen nicht unterstützt, müssen Sie diese erforderlichen Bibliotheken und Pakete möglicherweise vor dem Kompilieren manuell einschließen.

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