sábado, 14 de abril de 2012

1. Cuadros de verificación (JCheckBox)


Hola a todos. Ésta es la primer entrada de una serie de ejercicios guiados que estoy seguro serán de gran ayuda para sus proyectos. Comenzaré con elementos sencillos de la paleta de Swing ya que son los más fáciles de implementar.
Los Cuadros de verificación o CheckBox son útiles para seleccionar uno o mas elementos de una lista, es similar a un CheckList en papel. El procedimiento para implementar CheckBox en nuestro proyecto es básicamente como se muestra a continuación:

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 también tres cuadros de verificación. Estos cuadros son objetos del tipo JCheckBox.

Paleta de Swing

4. Añade tres JCheckBox y cambia el texto de ellos, de forma que aparezca “Perro”, “Gato” y “Ratón”.

5. Debe cambiar el nombre de cada uno de ellos. Se llamarán: chkPerro, chkGato, chkRaton.

6. La ventana tendrá el siguiente aspecto cuando termine:
Ventana con 3 Cuadros de verificación o CheckBox, un botón y una etiqueta

7. El programa debe funcionar de la siguiente forma:

Cuando el usuario pulse aceptar, en la etiqueta aparecerá un mensaje indicando qué animales han sido “seleccionados”. Para ello hay que programar el evento actionPerformed del botón Aceptar. En ese evento añada el siguiente código:

         String mensaje="Animales elegidos: ";
        if (chkPerro.isSelected()) {
            mensaje=mensaje+"Perro ";
        } 
        
        if (chkGato.isSelected()) {
            mensaje=mensaje+"Gato ";
        }
        
        if (chkRaton.isSelected()) {
            mensaje=mensaje+"Raton ";
        }
        
        etiResultado.setText(mensaje);

8. 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 “Animales elegidos: “
c. Luego, compruebo si está seleccionada la casilla de verificación chkPerro. Si es así concateno a la cadena mensaje la palabra “Perro”.
d. Luego compruebo si está seleccionada la casilla de verificación chkGato y hago lo mismo.
e. Lo mismo con la casilla chkRaton.
f. Finalmente presento la cadena mensaje en la etiqueta etiResultado.

9. Observa el método isSelected() propio de las casillas de verificación, permiten saber si una casilla está activada o no.

10. Ejecute el programa. Seleccione por ejemplo las casillas Gato y Ratón. Al pulsar Aceptar el resultado debe ser el siguiente:

Resultado de implementar CheckBox
El procedimiento es similar en todos los proyectos, únicamente varía el número de elementos que agregarás en tu panel. CheckBox es recomendado si y solo si puedes elegir uno o mas elementos de la lista.


8 comentarios:

  1. Amigo el metodo isSelected() en netbeans 7.2 presenta problema como lo corrijo.

    ResponderEliminar
  2. muy buen ejercicio para ir comenzando!!!!

    ResponderEliminar
  3. Muchas Gracias por compartir tus conocimientos, yo de a poco me voy introduciendo a la programación. Saludos desde Argentina.

    ResponderEliminar
  4. 1.como funcionaria eso de ningun seleccionado pero usando CheckBox??
    2.con el CheckBox me va mostrndo los animales en la etiqueta pero si selecciono primero el segundo y el primero lo selecciono luego, en la etiqueta me sale el primero primero y el segundo segundo, .... como hacer para que en la etiqueta se ponga en el orden que se va eligiendo?
    gracias....
    String mensaje = "Animales elegidos: ";
    if (chkPerro.isSelected()){
    mensaje = mensaje + "Perro ";
    }
    if (chkGato.isSelected()){
    mensaje = mensaje + "Gato ";
    }
    if (chkRaton.isSelected()){
    mensaje = mensaje + "Ratón ";
    }
    //else (JCheckBox.isSelected()==-1) {
    //mensaje="No hay un color seleccionado.";
    //}
    etiResultado.setText(mensaje);
    }

    ResponderEliminar
  5. quiero saber como calcular el total de los checkbox seleccionados, que muestren en una sola variable llamado "Total"

    ResponderEliminar
  6. Hola, como puedo hacer para que ese resultado me lo muestre en otra interfaz

    ResponderEliminar