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:
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.
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