JavaFX | RadioButton con ejemplos

Los botones de radio son parte del paquete JavaFx. Los botones de radio se utilizan principalmente para crear una serie de elementos donde solo se puede seleccionar uno. Cuando se presiona y suelta un botón de opción, se envía un evento de acción, este evento de acción se puede manejar mediante un controlador de eventos.
Se puede agregar RadioButton a Toggle Group para que el usuario no pueda seleccionar más de un elemento. De forma predeterminada, un botón de opción no forma parte de ningún grupo de alternancia. El elemento seleccionado de un grupo de alternancia se puede encontrar mediante la función getSelectedToggle().

Constructores de la clase RadioButton :

  1. RadioButton() : crea un botón de radio con una string vacía para su etiqueta.
  2. RadioButton(String t) :Crea un botón de radio con el texto especificado como su etiqueta

Métodos comúnmente utilizados :

método explicación
obtenerTexto() devuelve la etiqueta de texto para el botón de opción
esSeleccionado() devuelve si el botón de radio está seleccionado o no
setSelected(booleano b) establece si el botón de opción está seleccionado o no
setToggleGroup(ToggleGroup tg) establece el grupo de alternancia para el botón de opción
fuego() Alterna el estado del botón de radio si y solo si el botón de radio aún no se ha seleccionado o no es parte de un ToggleGroup.

Los siguientes programas ilustran la clase RadioButton:

  • Programa para crear RadioButton y agregarlo al escenario : Este programa crea un RadioButton indicado por el nombre r1, r2, r3. El botón de radio se creará dentro de una escena, que a su vez se alojará dentro de una etapa (que es el contenedor JavaFX de nivel superior). La función setTitle() se utiliza para proporcionar título al escenario. Luego se crea un mosaico en el que se llama al método addChildren() para adjuntar el botón de opción dentro de la escena, junto con la resolución especificada por (200, 200) en el código. Finalmente, se llama al método show() para mostrar los resultados finales.

    // Java program to create RadioButton and add it to the stage
    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.control.*;
    import javafx.scene.layout.*;
    import javafx.event.ActionEvent;
    import javafx.event.EventHandler;
    import javafx.collections.*;
    import javafx.stage.Stage;
    import javafx.scene.text.Text.*;
    import javafx.scene.text.*;
    public class radiobutton extends Application {
      
        // launch the application
        public void start(Stage s)
        {
            // set title for the stage
            s.setTitle("creating RadioButton");
      
            // create a tile pane
            TilePane r = new TilePane();
      
            // create a label
            Label l = new Label("This is a Radiobutton example ");
      
            // create radiobuttons
            RadioButton r1 = new RadioButton("male");
            RadioButton r2 = new RadioButton("female");
            RadioButton r3 = new RadioButton("others");
      
            // add label
            r.getChildren().add(l);
            r.getChildren().add(r1);
            r.getChildren().add(r2);
            r.getChildren().add(r3);
      
            // 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:

  • Programa para crear RadioButton y agregarlo a un ToggleGroup : Este programa crea un RadioButton indicado por el nombre r1, r2, r3. El botón de radio se creará dentro de una escena, que a su vez se alojará dentro de una etapa (que es el contenedor JavaFX de nivel superior). La función setTitle() se utiliza para proporcionar título al escenario. Se crea un grupo de alternancia y los botones de radio se agregan al grupo de alternancia mediante la función setToggleGroup(). Luego se crea un mosaico en el que se llama al método addChildren() para adjuntar el botón de opción dentro de la escena, junto con la resolución especificada por (200, 200) en el código. Finalmente, se llama al método show() para mostrar los resultados finales.

    // Java Program to create RadioButton and add it to a ToggleGroup
    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.control.*;
    import javafx.scene.layout.*;
    import javafx.event.ActionEvent;
    import javafx.event.EventHandler;
    import javafx.collections.*;
    import javafx.stage.Stage;
    import javafx.scene.text.Text.*;
    import javafx.scene.text.*;
    public class radiobutton_1 extends Application {
        // labels
        Label l;
      
        // launch the application
        public void start(Stage s)
        {
            // set title for the stage
            s.setTitle("creating RadioButton");
      
            // create a tile pane
            TilePane r = new TilePane();
      
            // create a label
            l = new Label("This is a Radiobutton example ");
      
            // create a toggle group
            ToggleGroup tg = new ToggleGroup();
      
            // create radiobuttons
            RadioButton r1 = new RadioButton("male");
            RadioButton r2 = new RadioButton("female");
            RadioButton r3 = new RadioButton("others");
      
            // add radiobuttons to toggle group
            r1.setToggleGroup(tg);
            r2.setToggleGroup(tg);
            r3.setToggleGroup(tg);
      
            // add label
            r.getChildren().add(l);
            r.getChildren().add(r1);
            r.getChildren().add(r2);
            r.getChildren().add(r3);
      
            // 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:

  • Programa para crear RadioButton, agregarlo a un ToggleGroup y agregarle un oyente: Este programa crea un RadioButton indicado por el nombre r1, r2, r3. El botón de radio se creará dentro de una escena, que a su vez se alojará dentro de una etapa (que es el contenedor JavaFX de nivel superior). La función setTitle() se utiliza para proporcionar título al escenario. Se crea un grupo de alternancia y los botones de radio se agregan al grupo de alternancia mediante la función setToggleGroup(). Se crea una etiqueta l2 para mostrar qué botón de radio está seleccionado. Se agrega un detector de cambios para manejar cualquier cambio en la selección de los botones de radio (usando la función addListener()). El cambio en la selección se representa cambiando el texto de la etiqueta l2. Luego se crea un mosaico en el que se llama al método addChildren() para adjuntar el botón de opción dentro de la escena, junto con la resolución especificada por (200, 200) en el código. Finalmente,

    // Java Program to create RadioButton, add it to a ToggleGroup and add a listener to it
    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.control.*;
    import javafx.scene.layout.*;
    import javafx.event.ActionEvent;
    import javafx.event.*;
    import javafx.collections.*;
    import javafx.stage.Stage;
    import javafx.scene.text.Text.*;
    import javafx.scene.text.*;
    import javafx.beans.value.*;
    public class radiobutton_2 extends Application {
      
        // launch the application
        public void start(Stage s)
        {
            // set title for the stage
            s.setTitle("creating RadioButton");
      
            // create a tile pane
            TilePane r = new TilePane();
      
            // create a label
            Label l = new Label("This is a Radiobutton example ");
            Label l2 = new Label("nothing selected");
      
            // create a toggle group
            ToggleGroup tg = new ToggleGroup();
      
            // create radiobuttons
            RadioButton r1 = new RadioButton("male");
            RadioButton r2 = new RadioButton("female");
            RadioButton r3 = new RadioButton("others");
      
            // add radiobuttons to toggle group
            r1.setToggleGroup(tg);
            r2.setToggleGroup(tg);
            r3.setToggleGroup(tg);
      
            // add label
            r.getChildren().add(l);
            r.getChildren().add(r1);
            r.getChildren().add(r2);
            r.getChildren().add(r3);
            r.getChildren().add(l2);
      
            // create a scene
            Scene sc = new Scene(r, 200, 200);
      
            // add a change listener
            tg.selectedToggleProperty().addListener(new ChangeListener<Toggle>() 
            {
                public void changed(ObservableValue<? extends Toggle> ob, 
                                                        Toggle o, Toggle n)
                {
      
                    RadioButton rb = (RadioButton)tg.getSelectedToggle();
      
                    if (rb != null) {
                        String s = rb.getText();
      
                        // change the label
                        l2.setText(s + " selected");
                    }
                }
            });
      
            // set the scene
            s.setScene(sc);
      
            s.show();
        }
      
        public static void main(String args[])
        {
            // launch the application
            launch(args);
        }
    }

    Producción:

  • Nota: Los programas anteriores no se ejecutarán en un IDE en línea. Utilice un compilador fuera de línea
    Referencia: https://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/RadioButton.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 *