1. Realiza un nuevo proyecto.
2. En la ventana principal debes añadir lo siguiente:a. Un botón “Aceptar” llamado btnAceptar.
b. Una etiqueta con borde llamada etiResultado.
3. Añade un panel. Un panel es una zona rectangular que puede contener elementos (botones, etiquetas, etc) La forma de poner un panel es a través del objeto JPanel.
4.Una vez añadido el panel en el JFrame, le pondremos un borde para poder localizarlo fácilmente. Debes hacer lo siguiente:
a.Selecciona el panel que has añadido.
b.Activa la propiedad Border (botón con tres puntos)
c.Busca el tipo de borde llamado TitledBorder (borde con título) y pon el título colores.
5.Tu ventana debe quedar más o menos así:
6.Ahora debes añadir tres botones de opción (botones de radio) dentro del panel. Estos botones son objetos del tipo JRadioButton.
7.Añade tres JRadioButton y cambia el texto de ellos, de forma que aparezca “Rojo”, “Verde” y “Azul”.
8.Debe cambiar el nombre de cada uno de ellos. Se llamarán: optRojo, optVerde, optAzul.
9.La ventana tendrá el siguiente aspecto cuando termine:
10. Si ejecuta el programa, observará que pueden seleccionarse varios colores a la vez. Esto no es interesante, ya que los botones de opción se usan para activar solo una opción entre varias.
11. Hay que hacer que solo un botón de opción pueda estar seleccionado a la vez. Para ello, debe añadir un nuevo objeto. Realice los siguientes pasos:
a.Añada un objeto del tipo ButtonGroup al formulario. ¡Atención! Este objeto es invisible, y no se verá en elformulario, sin embargo, lo podréis ver en el Inspector, en la parte de “Otros Componentes”:
b.Tienes que darle un nombre al ButtonGroup. El nombre será “grupoColores”.
c.Ahora, hay que conseguir que los tres botones pertenezcan al mismo grupo. Es decir, que pertenezcan al grupo grupoColores.
d.Selecciona el botón de opción optRojo y cambia su propiedad buttonGroup, indicando que pertenece al grupo colores (observa la imagen):
e. Haz lo mismo con los botones optVerde y optAzul.
12.Acabas de asociar los tres botones de opción a un mismo grupo. Esto produce que solo una de las tres opciones pueda estar activada. Pruébelo ejecutando el programa.
13.Ahora interesa que la opción “Rojo” salga activada desde el principio. Una forma de hacer esto es programando en el
“Constructor” lo siguiente:
“Constructor” lo siguiente:
optRojo.setSelected(true);
El método setSelected hace que se pueda activar o desactivar un botón de opción.
Prueba el programa. Observa como la opción Rojo está activada inicialmente.
14.El programa no está terminado aún. Interesa que cuando el usuario pulse el botón Aceptar, en la etiqueta aparezca el color elegido. Para ello, en el actionPerformed del botón Aceptar programe lo siguiente:
String mensaje="Color elegido: ";
if (optRojo.isSelected()) {
mensaje=mensaje+"Rojo";
} else if (optVerde.isSelected()) {
mensaje=mensaje+"Verde";
} else if (optAzul.isSelected()) {
mensaje=mensaje+"Azul";
}
etiResultado.setText(mensaje);
15.Observa el código. En él se hace lo siguiente:
a.Se crea una variable de cadena llamada mensaje.
b.En esa variable se introduce el texto “Color elegido: “
c.Luego se comprueba que opción está seleccionada, usando el método isSelected de los botones de opción.
Este método te dice si un botón está seleccionado o no.
Este método te dice si un botón está seleccionado o no.
d.Según la opción que esté seleccionada, se añade un texto u otro a la cadena mensaje.
e.Finalmente se muestra la cadena mensaje en la etiqueta etiResultado.
16.Ejecute el programa. Seleccione por ejemplo la Verde. Al pulsar Aceptar el resultado debe ser el siguiente:
CONCLUSIÓN
Los botones de opción, también llamados botones de radio (JRadioButton) se usan cuando quieres que el usuario pueda elegir una opción de entre varias.
Es interesante que los botones de radio aparezcan dentro de un panel JPanel. Se recomienda colocar un borde al panel.
Es totalmente necesario añadir un objeto del tipo ButtonGroup, y hacer que los botones de radio pertenezcan a dicho grupo. En caso contrario, será posible activar varios botones de opción a la vez.