Ver Mensaje Individual
  #3 (permalink)  
Antiguo 24/03/2015, 15:12
Avatar de Khaooos
Khaooos
 
Fecha de Ingreso: agosto-2013
Mensajes: 3
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: Problema con jcheckbox

Si, es algo así lo que requiero, pero como se crean dinamicos, osea desde la bd si la bd regresa 3 datos mismos son ingresados como checkbox, si se borra uno de la bd mismo que se borra de la lista, todo eso lo estoy generando desde codigo asi.

Código PHP:
try {
            Class.
forName("com.mysql.jdbc.Driver");
            
Connection conexion DriverManager.getConnection("jdbc:mysql://localhost/cajeroVentana1""root""aj8b7.*");
            
//Consultar Dafinal tos
            
int i 00;
            
checkboxes = new ArrayList<>();
            
Statement st conexion.createStatement();
            
ResultSet rs st.executeQuery("SELECT * FROM cuentas ");
            while (
rs.next()) {
                
JCheckBox checkbox = new JCheckBox();
                
checkbox.setLabel(rs.getString("cuentascol"));
                
checkbox.addItemListener(itemListener);
                
checkbox.setBounds(1020 + (20), 16023 + (10));
                
checkboxes.add(checkbox);
                
jPanel15.add(checkbox);
                
i=i+1;
            }
            
// crea un array que hacen referencia a los estados de los checkboxes
            
checkboxStates = new Boolean[checkboxes.size()];
            for(
Boolean state checkboxStates)
                
state false;
            
checkboxes = new ArrayList<>();
            
rs st.executeQuery("SELECT * FROM cuentas ");
            while (
rs.next()) {
                
JCheckBox checkbox = new JCheckBox();
                
checkbox.setLabel(rs.getString("cuentascol"));
                
checkbox.addItemListener(itemListener);
                
checkbox.setBounds(1020 + (20), 16023 + (10));
                
checkboxes.add(checkbox);
                
jPanel16.add(checkbox);
                
j=j+1;
            }
            
// crea un array que hacen referencia a los estados de los checkboxes
            
checkboxStates = new Boolean[checkboxes.size()];
            for(
Boolean state checkboxStates)
                
state false;
            
total_checkbox=j;
            
rs.close();
        } catch (
ClassNotFoundException SQLException NumberFormatException e) {

        } 
y el listener así
Código PHP:
ItemListener itemListener = new ItemListener() {
        @
Override
        
public void itemStateChanged(ItemEvent evt) {
            
JCheckBox checkbox = (JCheckBoxevt.getItem();
            if(
evt.getStateChange() == ItemEvent.SELECTED) {
                
System.out.println("Seleccionado!");
                
checkbox.setSelected(true);
            }
            else{
                
System.out.println("Deseleccionado!");
                
checkbox.setSelected(false);
            }
            for(
JCheckBox c checkboxes) {
                if(
checkbox.equals(c))
                
System.out.println("El JCheckBox seleccionado es: "+c.getText());
            }
        }
    };
private List<
IntegergetSelectedCheckBoxes() throws RuntimeException {
    List<
Integerindexes = new ArrayList<>();
    for(
Integer i=0i<checkboxes.size(); i++) {
        if(
checkboxes.get(i).isSelected())
            
indexes.add((i+1));
    }
    if(
indexes.isEmpty())
        throw new 
RuntimeException("No hay checkbox seleccionados");
    return 
indexes;
}

private 
int getIndexOfCheckBox(JCheckBox checkbox) {
    
int index = -1;
    for(
byte i=0i<checkboxes.size(); i++) {
        if(
checkboxes.get(i).equals(checkbox))
            
index i;
    }
    return 
index;

El código del boton es el que genera netbeans cuando lo arrastras, y no se como modificarlo, o donde estoy mal