JavaFX | Botón con ejemplos

La clase Button es parte del paquete JavaFX y puede tener un texto, un gráfico o ambos.

El botón en JavaFX puede ser de tres tipos diferentes:

  1. Botón normal: un botón pulsador normal
  2. Botón predeterminado: un botón predeterminado que recibe una pulsación VK_ENTER del teclado
  3. Botón de cancelación: un botón de cancelación que recibe una pulsación VK_ENTER del teclado

Cuando se presiona el botón, se envía un evento de acción. Este Evento de Acción puede ser administrado por un EventHandler. Los botones también pueden responder a los eventos del mouse implementando un EventHandler para procesar el MouseEvent.

Los constructores de la clase Button son :

  1. Button() : crea un botón con una string vacía para su etiqueta.
  2. Button(String t) : crea un botón con el texto especificado como su etiqueta.
  3. Botón (String t, Node g) : crea un botón con el texto y el icono especificados para su etiqueta.

Métodos comúnmente utilizados :

método explicación
setCancelButton(booleano v) Establece el valor de la propiedad cancelButton.
setDefaultButton(booleano v) Establece el valor de la propiedad defaultButton
es el botón predeterminado() Obtiene el valor de la propiedad defaultButton.
esBotónCancelar() Obtiene el valor de la propiedad cancelButton.
Cancelar propiedad del botón() Un Botón Cancelar es el botón que recibe una pulsación del teclado VK_ESC
propiedad del botón predeterminado() Un botón predeterminado es el botón que recibe una pulsación VK_ENTER del teclado
createDefaultSkin() Cree una nueva instancia de la máscara predeterminada para este control.

Los siguientes programas ilustran el uso de Button en JavaFX.

  1. Programa para crear un botón y agregarlo al escenario: Este programa crea un Botón indicado con el nombre b . El botón se creará dentro de una escena, que a su vez se alojará dentro de un escenario. La función setTitle() se utiliza para proporcionar título al escenario. Luego se crea un panel de mosaicos, en el que se llama al método addChildren() para adjuntar el botón dentro de la escena. Finalmente, se llama al método show() para mostrar los resultados finales.

    // Java Program to create a button and add it to the stage
    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.control.Button;
    import javafx.scene.layout.StackPane;
    import javafx.stage.Stage;
    public class button extends Application {
      
        // launch the application
        public void start(Stage s)
        {
            // set title for the stage
            s.setTitle("creating buttons");
      
            // create a button
            Button b = new Button("button");
      
            // create a stack pane
            StackPane r = new StackPane();
      
            // add button
            r.getChildren().add(b);
      
            // create a scene
            Scene sc = new Scene(r, 200, 200);
      
            // set the scene
            s.setScene(sc);
      
            s.show();
        }
      
        public static void main(String args[])
        {
            // launch the application
            launch(args);
        }
    }

    Salida :

  2. Programa Java para crear un botón y agregarle un controlador de eventos : Este programa crea un Botón indicado por el nombre b. El botón se creará dentro de una escena, que a su vez se alojará dentro de un escenario. Crearíamos una etiqueta para mostrar si el botón está presionado o no. La función setTitle() se utiliza para proporcionar título al escenario. Luego se crea un panel de mosaico, en el que se llama al método addChildren() para adjuntar el botón y la etiqueta dentro de la escena. Finalmente, se llama al método show() para mostrar los resultados finales. Crearíamos un controlador de eventos para manejar los eventos del botón. El controlador de eventos se agregaría al botón mediante la función setOnAction().

    // Java program to create a button and add event handler to it
    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.control.Button;
    import javafx.scene.layout.*;
    import javafx.event.ActionEvent;
    import javafx.event.EventHandler;
    import javafx.scene.control.Label;
    import javafx.stage.Stage;
    public class button_1 extends Application {
      
        // launch the application
        public void start(Stage s)
        {
            // set title for the stage
            s.setTitle("creating buttons");
      
            // create a button
            Button b = new Button("button");
      
            // create a stack pane
            TilePane r = new TilePane();
      
            // create a label
            Label l = new Label("button not selected");
      
            // action event
            EventHandler<ActionEvent> event = new EventHandler<ActionEvent>() {
                public void handle(ActionEvent e)
                {
                    l.setText("   button   selected    ");
                }
            };
      
            // when button is pressed
            b.setOnAction(event);
      
            // add button
            r.getChildren().add(b);
            r.getChildren().add(l);
      
            // create a scene
            Scene sc = new Scene(r, 200, 200);
      
            // set the scene
            s.setScene(sc);
      
            s.show();
        }
      
        public static void main(String args[])
        {
            // launch the application
            launch(args);
        }
    }

    Salida :

  3. Programa Java para crear un botón con una imagen y agregarle un controlador de eventos: Este programa crea un botón con una imagen indicada con el nombre b. La imagen se incluirá mediante el flujo de entrada de archivos que importa la imagen. luego crearemos una imagen usando el objeto del flujo de entrada del archivo y luego crearemos una vista de imagen usando el archivo de imagen. El botón se creará dentro de una escena, que a su vez se alojará dentro de un escenario. Crearíamos una etiqueta para mostrar si el botón está presionado o no. La función setTitle() se usa para dar título al escenario. Luego se crea un panel de mosaico, en el que se llama al método addChildren() para adjuntar el botón y la etiqueta dentro de la escena. Finalmente, se llama al método show() para mostrar los resultados finales. Crearíamos un controlador de eventos para manejar los eventos del botón. El controlador de eventos se agregaría al botón mediante la función setOnAction().

    // Java Program to create a button with a image and
    // add event handler to it
    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.control.Button;
    import javafx.scene.layout.*;
    import javafx.scene.image.*;
    import java.io.*;
    import javafx.event.ActionEvent;
    import javafx.event.EventHandler;
    import javafx.scene.control.Label;
    import javafx.stage.Stage;
    import java.net.*;
    public class button_2 extends Application {
      
        // launch the application
        public void start(Stage s) throws Exception
        {
            // set title for the stage
            s.setTitle("creating buttons");
      
            // create a input stream
            FileInputStream input = new FileInputStream("f:\\gfg.png");
      
            // create a image
            Image i = new Image(input);
      
            // create a image View
            ImageView iw = new ImageView(i);
      
            // create a button
            Button b = new Button("", iw);
      
            // create a stack pane
            TilePane r = new TilePane();
      
            // create a label
            Label l = new Label("button not selected");
      
            // action event
            EventHandler<ActionEvent> event = new EventHandler<ActionEvent>() {
                public void handle(ActionEvent e)
                {
                    l.setText("button selected    ");
                }
            };
      
            // when button is pressed
            b.setOnAction(event);
      
            // add button
            r.getChildren().add(b);
            r.getChildren().add(l);
      
            // create a scene
            Scene sc = new Scene(r, 200, 200);
      
            // set the scene
            s.setScene(sc);
      
            s.show();
        }
      
        public static void main(String args[])
        {
            // launch the application
            launch(args);
        }
    }

    Producción

  4. Programa Java para crear un botón con una imagen y texto y agregarle un controlador de eventos

    Este programa crea un Botón con una imagen y un texto indicado por el nombre b. La imagen se incluirá mediante el flujo de entrada de archivos que importa la imagen. luego crearemos una imagen usando el objeto del flujo de entrada del archivo y luego crearemos una vista de imagen usando el archivo de imagen. El botón se creará dentro de una escena, que a su vez se alojará dentro de un escenario. Crearíamos una etiqueta para mostrar si el botón está presionado o no. La función setTitle() se usa para dar título al escenario. Luego se crea un panel de mosaico, en el que se llama al método addChildren() para adjuntar el botón y la etiqueta dentro de la escena. Finalmente, se llama al método show() para mostrar los resultados finales. Crearíamos un controlador de eventos para manejar los eventos del botón. El controlador de eventos se agregaría al botón mediante la función setOnAction().

    // Java Program to create a button with a image
    // and text and add event handler to it
    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.control.Button;
    import javafx.scene.layout.*;
    import javafx.scene.image.*;
    import java.io.*;
    import javafx.event.ActionEvent;
    import javafx.event.EventHandler;
    import javafx.scene.control.Label;
    import javafx.stage.Stage;
    import java.net.*;
    public class button_3 extends Application {
      
        // launch the application
        public void start(Stage s) throws Exception
        {
            // set title for the stage
            s.setTitle("creating buttons");
      
            // create a input stream
            FileInputStream input = new FileInputStream("f:\\gfg.png");
      
            // create a image
            Image i = new Image(input);
      
            // create a image View
            ImageView iw = new ImageView(i);
      
            // create a button
            Button b = new Button("Button", iw);
      
            // create a stack pane
            TilePane r = new TilePane();
      
            // create a label
            Label l = new Label("button not selected");
      
            // action event
            EventHandler<ActionEvent> event = new EventHandler<ActionEvent>() {
                public void handle(ActionEvent e)
                {
                    l.setText("button selected    ");
                }
            };
      
            // when button is pressed
            b.setOnAction(event);
      
            // add button
            r.getChildren().add(b);
            r.getChildren().add(l);
      
            // create a scene
            Scene sc = new Scene(r, 200, 200);
      
            // set the scene
            s.setScene(sc);
      
            s.show();
        }
      
        public static void main(String args[])
        {
            // launch the application
            launch(args);
        }
    }

    Salida :

  5. Programa Java para crear un botón predeterminado y un botón de cancelación:Este programa crea un Botón indicado por el nombre b y b1 . El botón b actuará como un botón de cancelación que responderá a la pulsación de tecla de escape del teclado y el botón b1 se comportará como un botón predeterminado que responderá a la pulsación de tecla de entrada del teclado). El botón se creará dentro de una escena, que a su vez se alojará dentro de un escenario. Crearíamos una etiqueta para mostrar qué botón se presiona. La función setTitle() se usa para dar título al escenario. Luego se crea un panel de mosaico, en el que se llama al método addChildren() para adjuntar el botón y la etiqueta dentro de la escena. Finalmente, se llama al método show() para mostrar los resultados finales. Crearíamos un controlador de eventos para manejar los eventos del botón. El controlador de eventos se agregaría al botón mediante la función setOnAction().

    // Java program to create a default button and a
    // cancel button and add event handler to it
    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.control.Button;
    import javafx.scene.layout.*;
    import javafx.event.ActionEvent;
    import javafx.event.EventHandler;
    import javafx.scene.control.Label;
    import javafx.stage.Stage;
    public class button_4 extends Application {
      
        // launch the application
        public void start(Stage s)
        {
            // set title for the stage
            s.setTitle("creating buttons");
      
            // create a button
            Button b = new Button("cancel button");
      
            // set cancel button
            b.setCancelButton(true);
      
            // create a button
            Button b1 = new Button("default button");
      
            // set default button
            b1.setDefaultButton(true);
      
            // create a stack pane
            TilePane r = new TilePane();
      
            // create a label
            Label l = new Label("button not selected");
      
            // action event
            EventHandler<ActionEvent> event = new EventHandler<ActionEvent>() {
                public void handle(ActionEvent e)
                {
                    l.setText("  cancel  button    selected    ");
                }
            };
            EventHandler<ActionEvent> event1 = new EventHandler<ActionEvent>() {
                public void handle(ActionEvent e)
                {
                    l.setText("  default button   selected    ");
                }
            };
      
            // when button is pressed
            b.setOnAction(event);
            b1.setOnAction(event1);
      
            // add button
            r.getChildren().add(b);
            r.getChildren().add(b1);
            r.getChildren().add(l);
      
            // create a scene
            Scene sc = new Scene(r, 200, 200);
      
            // set the scene
            s.setScene(sc);
      
            s.show();
        }
      
        public static void main(String args[])
        {
            // launch the application
            launch(args);
        }
    }

    Salida :

Nota: Es posible que los programas anteriores no se ejecuten en un IDE en línea; use un compilador fuera de línea.

Referencia : https://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/Button.html

Publicación traducida automáticamente

Artículo escrito por andrew1234 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *