Las casillas de verificación en Swing están implementadas para Java por la clase JCheckBox, y los botones de radio o de opción por la clase JRadioButton. Los grupos de botones, por la clase ButtonGroup.
La funcionalidad de ambos componentes es en realidad la misma.
- Ambos tienen dos "estados": seleccionados o no seleccionados (marcados o no marcados).
- Ambos se marcan o desmarcan usando el método
setSelected(boolean estado), que establece el valor para su propiedadselected. (El estado toma el valortruepara seleccionado yfalsepara no seleccionado). - A ambos le podemos preguntar si están seleccionados o no, mediante el método
isSelected(), que devuelvetruesi el componente está seleccionado yfalsesi no lo está. - Para ambos podemos asociar un icono distinto para el estado de seleccionado y el de no seleccionado.
JCheckBox pueden usarse en menús mediante la clase JCheckBoxMenuItem.
JButtonGroup permite agrupar una serie de casillas de verificación (JRadioButton), de entre las que sólo puede seleccionarse una. Marcar una de las casillas implica que el resto sean desmarcadas automáticamente. La forma de hacerlo consiste en añadir un JButtonGroup y luego, agregarle los botones.
Cuando en un contenedor aparezcan agrupados varios botones de radio (o de opción), entenderemos que no son opciones independientes, sino que sólo uno de ellos podrá estar activo en cada momento, y necesariamente uno debe estar activo. Por tanto en ese contexto entendemos que son opciones excluyentes entre sí.