Ver Mensaje Individual
  #2 (permalink)  
Antiguo 24/03/2015, 05:35
nachfren
 
Fecha de Ingreso: enero-2015
Ubicación: Madrid
Mensajes: 76
Antigüedad: 10 años, 2 meses
Puntos: 5
Respuesta: Problema con jcheckbox

Hola Khaooos, no sé si entiendo tu pregunta:

Cita:
¿como puedo usar lo que obtengo de acá en un botón donde debo verificar la selección para poder ejecutar una consulta en una base de datos?
A ver tienes un panel con unos JCheckBox, y quieres saber cuales han sido seleccionados...

¿Cuando quieres comprobar los elementos seleccionados?

-Si es cuando el usuario pulsa sobre los JCheckBox, tu evento es itemstatechanged.

Código PHP:
jcheckbox1 = new JCheckBox("Primer checkBox");
        
jcheckbox2 = new JCheckBox("Segundo checkBox");
        
//Tamaño del componente
        
jcheckbox1.setBounds(1010200200);
        
jcheckbox2.setBounds(25010200200);
        
//CREAMOS EL EVENTO
        
ItemListener listener = new ItemListener() {
            @
Override
            
public void itemStateChanged(ItemEvent e) {
                
jCheckBoxItemStateChanged(e);//Metodo que será llamado en cada evento
            
}
        };
        
//AÑADIMOS EL MISMO EVENTO PARA LOS JCheckBox.
        
jcheckbox1.addItemListener(listener);
        
jcheckbox2.addItemListener(listener);
        
//Añadimos a la ventana.
        
add(jcheckbox1);
        
add(jcheckbox2); 
Ahora nos queda definir el metodo que será llamado en cada evento producido por los JCheckBox.

Código PHP:
private void jCheckBoxItemStateChanged(java.awt.event.ItemEvent evt) {                                            
        
// ¿Que objeto lanza el evento?
        
if(evt.getItem() == jcheckbox1) {
            
jLabelObjeto.setText("Objeto check box 1");
        } else if(
evt.getItem() == jcheckbox2) {
            
jLabelObjeto.setText("Objeto dos");
        }
        
//Comprobamos que tipo de evento ha sido generado.
        
if(evt.getStateChange() == ItemEvent.SELECTED) {
            
jLabelSeleccionado.setText("Seleccionado");
        } else if(
evt.getStateChange() == ItemEvent.DESELECTED) {
            
jLabelSeleccionado.setText("Deseleccionado");
        }
    } 
Existe muchos eventos, depende de cual necesites, pero con estos dos creo que tienes para tu caso.

-Si tu interfaz tiene un boton y quieres hacer la comprobación cuando el usuario pulse el boton:

Código PHP:
//BOTON
        
jButton1 = new JButton();
        
jButton1.setText("Comprobar checkBox");
        
jButton1.setBounds(505050100);
        
//Creamos el oyente.
        
jButton1.addActionListener(new java.awt.event.ActionListener() {
            @
Override
            
public void actionPerformed(java.awt.event.ActionEvent evt) {
                
//Metodo que será ejecutado cuando se pulse el boton
                
jButton1ActionPerformed(evt);
            }
        });
        
add(jButton1); 
El metodo:
Código PHP:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        
// Comprobar que JCheckBox han sido seleccionados.
        
if(jcheckbox1.isSelected()) {
            
//JCheckBox Seleccionado.
        
}
    } 
Un saludo!