Saltar al contenido principal

RadioButtonGroup

Abrir en ChatGPT
23.01
Java API

El RadioButtonGroup gestiona una colección de RadioButton componentes. Solo se puede seleccionar un RadioButton en un RadioButtonGroup. Cuando un usuario selecciona un nuevo botón de radio, el que estaba seleccionado anteriormente en el grupo se deselecciona automáticamente.

Mostrar Código

Renderizado de RadioButtonGroup

El componente RadioButtonGroup no renderiza un elemento HTML. Solo proporciona lógica para hacer que los componentes RadioButton se comporten como un grupo en lugar de individualmente.

Agregar y eliminar componentes RadioButton

Puedes incluir componentes RadioButton en el constructor de RadioButtonGroup para crear un grupo a partir de los componentes proporcionados. Para agregar o eliminar un RadioButton de un RadioButtonGroup existente, utiliza los métodos add() o remove().

Obtener el Grupo de un RadioButton

El componente RadioButton tiene el método getButtonGroup(), que devuelve el RadioButtonGroup al que pertenece, o null si no tiene un grupo.

Anidamiento 25.11

Como otros componentes, puedes anidar un RadioButtonGroup dentro de un contenedor, por lo que no necesitas agregar directamente cada RadioButton individualmente.

RadioButton agree = new RadioButton("Agree");
RadioButton neutral = new RadioButton("Neutral");
RadioButton disagree = new RadioButton("Disagree");

RadioButtonGroup group = new RadioButtonGroup("choices", agree, neutral, disagree);

Fieldset fieldset = new Fieldset("Options");
fieldset.add(group);

Usando RadioButtonGroupChangeEvent

Cada RadioButton puede tener su propio listener de eventos para detectar cuándo un usuario lo alterna. Sin embargo, una ventaja de usar un RadioButtonGroup es que puedes utilizar un único listener de eventos que responda a todos los botones de radio en el grupo con el RadioButtonGroupChangeEvent.

Agregando listeners de eventos a cada RadioButton

agree.onValueChange(e -> changeEvent());
neutral.onValueChange(e -> changeEvent());
disagree.onValueChange(e -> changeEvent());

Agregando un solo listener de eventos al RadioButtonGroup

RadioButtonGroup group = new RadioButtonGroup("choices", agree, neutral, disagree);
group.onChange(e -> changeEvent());

El siguiente ejemplo de Posición del Drawer utiliza el RadioButtonGroupChangeEvent para cambiar automáticamente la posición del componente Drawer:

Mostrar Código

Nomenclatura

El atributo name en un RadioButtonGroup agrupa los RadioButtons relacionados, permitiendo a los usuarios hacer una única elección entre las opciones proporcionadas y reforzando la exclusividad entre los RadioButtons. Sin embargo, el nombre de un grupo no se refleja en el DOM y es una utilidad de conveniencia para el desarrollador de Java.