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 = 0, j = 0;
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(10, 20 + (i * 20), 160, 23 + (i * 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(10, 20 + (j * 20), 160, 23 + (j * 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 = (JCheckBox) evt.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<Integer> getSelectedCheckBoxes() throws RuntimeException {
List<Integer> indexes = new ArrayList<>();
for(Integer i=0; i<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=0; i<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