Documentos de Académico
Documentos de Profesional
Documentos de Cultura
17/07/13
GUIA PRCTICA
Botones de opcin (RadioButton)
Los botones de opcin RadioButton se utilizan para seleccionar solo un elemento de un conjunto de elementos. La diferencia principal de un CheckBox y un RadioButton radica principalmente en sta caracterstica, ya que un conjunto de RadioButton solo puedes seleccionar un elemento, mientras que, en un conjunto de CheckBox puedes seleccionar uno, varios o todos los elementos. Otra caracterstica importante es que el RadioButton se identifica generalmente como listas con crculos como podrs ver a continuacin. Para agregarlos a nuestro proyecto de ejemplo realizar los siguientes pasos: 1. Realiza un nuevo proyecto. 2. En la ventana principal debes aadir lo siguiente: a. Un botn Aceptar llamado btnAceptar. b. Una etiqueta con borde llamada etiResultado. 3. Aade un panel. Un panel es una zona rectangular que puede contener elementos (botones, etiquetas, etc) La forma de poner un panel es a travs del objeto JPanel.
LOGICA DE PROGRAMACION
17/07/13
LOGICA DE PROGRAMACION
17/07/13
LOGICA DE PROGRAMACION
17/07/13
ButtonGroup
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 botn de opcin optRojo y cambia su propiedad buttonGroup, indicando que pertenece al grupo colores (observa la imagen):
LOGICA DE PROGRAMACION
17/07/13
e. Haz lo mismo con los botones optVerde y optAzul. 12. Acabas de asociar los tres botones de opcin a un mismo grupo. Esto produce que solo una de las tres opciones pueda estar activada. Prubelo ejecutando el programa. 13. Ahora interesa que la opcin Rojo salga activada desde el principio. Una forma de hacer esto es programando en el Constructor lo siguiente: optRojo.setSelected(true); El mtodo setSelected hace que se pueda activar o desactivar un botn de opcin. Prueba el programa. Observa como la opcin Rojo est activada inicialmente. 14. El programa no est terminado an. Interesa que cuando el usuario pulse el botn Aceptar, en la etiqueta aparezca el color elegido. Para ello, en el actionPerformed del botn 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()) {
LOGICA DE PROGRAMACION
mensaje=mensaje+Azul; } etiResultado.setText(mensaje); 15. Observa el cdigo. 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:
17/07/13
c. Luego se comprueba que opcin est seleccionada, usando el mtodo isSelected de los botones de opcin. Este mtodo te dice si un botn est seleccionado o no. d. Segn la opcin que est seleccionada, se aade 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:
CONCLUSIN Los botones de opcin, tambin llamados botones de radio (JRadioButton) se usan cuando quieres que el usuario pueda elegir una opcin 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 aadir 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 opcin a la vez. 1. DES-SELECCIONAR
LOGICA DE PROGRAMACION
17/07/13
2. Hola Frank, supongamos que al boton que mencionas lo llames Limpiar. Entonces tendrs que hacer lo siguiente: 1. En el actionPerformed de tu boton Limpiar tendras que indicarle que el RadioButton no debe estar seleccionado con la siguiente linea de ejemplo: optRojo.setSelected(false); Lo cual indica que al RadioButton llamado optRojo le estas dando propiedades de seleccion (.setSelected) con valor falso (false). Esta instruccion la debes repetir para todos los RadioButton que hayas agregado en el ButtonGroup. En este ejemplo tambien es conveniente que al dar clic al boton Limpiar tambien se reinicie el contenido de la etiqueta con la siguiente instruccion: etiResultado.setText(null);