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