tienes varios errores en tu código , en primer lugar no veo como estas declarando las cabeceras ni como estas llamando a tu objeto jtable , tienes que entender que tu jtable es el grid , a este le debes de asignar un tablemodel que es el que contiene los datos , por ejemplo tu grid que se muestra le podrias llamar tblPersonas , después creas el modelo de la tabla al cual le llamarías mdlPersonas , en tu bucle agregarías cada row con los datos de tu consulta y al final le asignas el modelo a tu grid , mas o menos en código seria algo asi
Código:
try{
// estas son las cabeceras que van en el tablemodel
String [] titulos = {"NOMBRE","APELLIDO"};
// creamos el arreglo que serán los rows que iremos pasando al modelo de la tabla
String [] registro = new String [2];
// Creamos el modelo de la tabla y le pasamos el primer parámetro de entrada que son las cabeceras
mdlPersonas = new DefaultTableModel(null,titulos);
//realizamos la consulta
Statement stConsulta = cn.CreateStatement();
ResultSet rsPersonas = stConsulta.executeQuery(select NOMBRE,APELLIDO from PERSONAS);
while(rsPersonas.next()){
//definimos el contenido del arreglo y lo agregamos al modelo de tabla
registro [0] = rsPersonas.getString("NOMBRE");
registro [1] = rsPersonas.getString("APELLIDO");
mdlPersonas.addRow(registro);
}
// al terminar le asignamos el modelo al jtable
tblPersonas.setModel(mdlPersonas);
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null,e);
}
finally{
//cerramos la conexion
cn.close
}
esto es un ejemplo básico , aunque te recomiendo te documentes sobre el AbstractTableModel pues el DefaultTableModel es algo obsoleto y simple , mientras el AbstractTableModel es completamente Customizable espero te sirva de ayuda esto