Hola gente de yoelprogramador.com con este articulo quiero ver si lo puedo ayudar a Yesid quien ha preguntado en otro artículo Como puedo mostrarlo como un jCheckbox el dato que tenga en la base de datos.
Si no entendí mal lo que quieres es que leer los datos de tu base de datos, según el valor de los registros que te muestres los jCheckbox seleccionados o no. En la siguiente imagen se muestra el resultado.
Le añadí el botón cargar para que llame al método que se encargar de cargar los datos en el jTable.
Acá un print de lo que seria el método. El código lo dejo más abajo.
DefaultTableModel model; int linea; String codigo; //Metodo para cargar la tabla con los datos public void cargarDatos(){ //Creamos una variable array para el titulo de la tabla String [] titulo = {"ID", "DETALLE", "IDV", "IDC", "IDB" }; //Creamos una variable array registros para las filas de la tabla String [] registros = new String [5]; //Crear una variable para la sentencia SQL String sql = "SELECT * FROM dato"; model = new DefaultTableModel (null, titulo); Conexion cc = new Conexion(); Connection cn = (Connection) cc.getConexion(); try { java.sql.Statement st = cn.createStatement(); ResultSet rs = st.executeQuery(sql); while (rs.next()){ registros[0] = rs.getString("id"); registros[1] = rs.getString("detalle"); registros[2] = rs.getString("idv"); registros[3] = rs.getString("idc"); registros[4] = rs.getString("idb"); model.addRow(registros); } jTable1.setModel(model); } catch (Exception e) { JOptionPane.showMessageDialog(null, e); } }
Para poder probar esto se tubo que crear una conexion a la base de datos, creamos un método para poder listar los registros dentro de un jTable y luego al hacer click sobre un registro de la tabla nos carga los valores en un campo de texto ademas de los jCheckbox.
Todo el código les dejo acá ademas de disponibilizar el proyecto completo incluyendo la base de datos para que lo descarguen.
Añadimos un evento de MousePressed sobre la tabla para que al momento de hacer click sobre un registro se muestren los mismos datos en el jTextField y los jCheckBox.
private void jTable1MousePressed(java.awt.event.MouseEvent evt) { if(evt.getClickCount()==1){ try { linea = jTable1.getSelectedRow(); txtDetalle.setText(jTable1.getValueAt(linea, 1).toString()); //Verificar datos para seleccionar el jCheckBox1 if(jTable1.getValueAt(linea, 2).toString().equals("1")){ jCheckBox1.setSelected(true); } else { jCheckBox1.setSelected(false); } //Verificar datos para seleccionar el jCheckBox2 if(jTable1.getValueAt(linea, 3).toString().equals("1")){ jCheckBox2.setSelected(true); } else { jCheckBox2.setSelected(false); } //Verificar datos para seleccionar el jCheckBox3 if(jTable1.getValueAt(linea, 4).toString().equals("1")){ jCheckBox3.setSelected(true); } else { jCheckBox3.setSelected(false); } }catch(Exception ex){ } } }
Acá les dejo todo el proyecto para que lo puedan descargar, espero que le sirva. Saludos