Como puedo mostrarlo como un jCheckbox el dato que tenga en la base de datos

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.

jcheckbox1 jcheckbox2

Le añadí el botón cargar para que llame al método que se encargar de cargar los datos en el jTable.

jcheckbox4

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.

jcheckbox3

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

1 comentario en “Como puedo mostrarlo como un jCheckbox el dato que tenga en la base de datos”

  1. Hola, es muy bueno el codigo, sin embargo yo no tengo un jtable, como podria hacer para obtener los datos de mysql y ponerlos en varios checkbox?

    te agradezco de antemano la ayuda

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.