Método setOnAction en JavaFX

MD Aminul Islam 15 febrero 2024
Método setOnAction en JavaFX

Sin crear una acción, la interfaz de usuario no es nada. Una acción es un proceso del sistema que se inicia cuando un usuario ordena al sistema que realice una tarea específica.

En JavaFX podemos agregar una acción usando el método setOnAction().

En este artículo, veremos cómo podemos crear una acción para cualquier componente de la interfaz de usuario. Además, veremos un ejemplo con una explicación para facilitar la comprensión del tema.

Use el método setOnAction en JavaFX

En nuestro ejemplo a continuación, acabamos de crear una interfaz de usuario simple con dos componentes básicos de interfaz de usuario, etiqueta y botón. El código de nuestro ejemplo tendrá el siguiente aspecto.

// 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
  }
}

Ya comentamos en el código el propósito de cada línea. Ahora, vamos a explicar cómo funciona el código.

Creamos una etiqueta en nuestro código con el texto predeterminado de Botón sin hacer clic junto a la línea lbl = new Label ("Botón sin hacer clic");. El propósito de esta etiqueta es mostrar el mensaje al usuario de que se presionó una tecla.

Luego, creamos un evento de pulsación de tecla simple. Como una acción que se ejecutará cuando el usuario presione una tecla de su teclado, cambiamos el texto predeterminado de la etiqueta y lo configuramos como “¡¡Botón presionado!!!”.

Entonces, para este propósito, el código agrega una acción lbl.setText("Botón presionado!!!");.

Ahora, cuando ejecute el código después de una compilación exitosa, se abrirá una ventana con el título JavaFX setOnAction, y después de presionar una tecla de su teclado, verá un resultado como el que se muestra a continuación.

Producción:

setOnAction Salida JavaFX

Recuerde, si su IDE no admite la inclusión automática de bibliotecas y paquetes, es posible que deba incluir manualmente estas bibliotecas y paquetes necesarios antes de compilar.

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

Artículo relacionado - Java JavaFX