JRadioButton y ButtonGroup

¿Qué es un JRadioButton?

Un JRadioButton es un componente de Java Swing que representa un botón de opción circular. Se utiliza comúnmente para ofrecer al usuario un conjunto de opciones mutuamente excluyentes, es decir, el usuario puede seleccionar solo una opción de un grupo de JRadioButtons.

¿Qué es un ButtonGroup?

Un ButtonGroup es un contenedor que agrupa un conjunto de JRadioButtons. Al agrupar los botones de opción, se garantiza que solo uno de ellos pueda estar seleccionado en un momento dado. Cuando se selecciona un botón en un grupo, los demás se deseleccionan automáticamente.

¿Cómo se utilizan?

  1. Importar las clases:

    Java
    import javax.swing.*;
    
  2. Crear un ButtonGroup:

    Java
    ButtonGroup grupoBotones = new ButtonGroup();
    
  3. Crear JRadioButtons y agregarlos al grupo:

    Java
    JRadioButton opcion1 = new JRadioButton("Opción 1");
    JRadioButton opcion2 = new JRadioButton("Opción 2");
    JRadioButton opcion3 = new JRadioButton("Opción 3");
    
    grupoBotones.add(opcion1);
    grupoBotones.add(opcion2);
    grupoBotones.add(opcion3);
    
  4. Agregar los JRadioButtons a un contenedor:

    Java
    JPanel panel = new JPanel();
    panel.add(opcion1);
    panel.add(opcion2);
    panel.add(opcion3);
    
  5. Obtener la opción seleccionada:

    Java
    if (opcion1.isSelected()) {
        // La opción 1 está seleccionada
    } else if (opcion2.isSelected()) {
        // La opción 2 está seleccionada
    } else if (opcion3.isSelected()) {
        // La opción 3 está seleccionada
    }
    

Ejemplo completo:

Java
import javax.swing.*;

public class EjemploJRadioButton {
    public static void main(String[] args) {
        JFrame frame = new JFrame("Ejemplo JRadioButton");

        ButtonGroup grupo = new ButtonGroup();
        JRadioButton masculino = new JRadioButton("Masculino");
        JRadioButton femenino = new JRadioButton("Femenino");

        grupo.add(masculino);
        grupo.add(femenino);

        JPanel panel = new JPanel();
        panel.add(masculino);
        panel.add(femenino);

        frame.add(panel);
        frame.pack();
        frame.setVisible(true);
    }
}

Características adicionales:

  • Selección por defecto: Puedes establecer un botón como seleccionado por defecto utilizando el método setSelected(true).
  • Eventos: Puedes agregar listeners a los JRadioButtons para detectar cuando se selecciona un botón.
  • Iconos: Puedes agregar iconos a los botones.
  • Texto: Puedes personalizar el texto que aparece junto a cada botón.

En resumen:

Los JRadioButtons y ButtonGroups son herramientas fundamentales para crear interfaces gráficas en Java Swing donde el usuario debe seleccionar una única opción de un conjunto de opciones. Al agrupar los botones de opción, se garantiza que solo uno pueda estar seleccionado a la vez, lo que facilita la toma de decisiones por parte del usuario.


Comentarios

Entradas más populares de este blog

JTextField

JFrame

JCheckBox