Yo tenia el mismo problema que tu pero mejor le cambie el jTExt Area apr imprimir lso datos y me funciono bien, lo unico que si tienes que hacer es que Debes ordenar bien a la hora de imprimir los datos... te dejo el codigo par que lo analices...Nota: no te confundas con el swith yo lo utilize por que tengo 3 tablas en mi bd y lo puse para saber cual estoy accesando...
for (int i = 0; i < numeroColumnas; i++)
{
// Nuevamente, para ResultSetMetaData la primera columna es la 1.
etiquetas = metaDatos.getColumnLabel(i + 1);
}
//*****************METERLE LO DATOS*********************************
for(int t=0;t<numeroColumnas;t++){
jTextArea1.setText(jTextArea1.getText() + etiquetas[t].toString() + " ");
}
jTextArea1.setText(jTextArea1.getText() +'\n');
switch (selecciono) {
case 1:
while (resultado.next()) {
String s = resultado.getString(etiquetas[0].toString());
String g = resultado.getString(etiquetas[1].toString());
String j = resultado.getString(etiquetas[2].toString());
jTextArea1.setText( jTextArea1.getText() + s + " " + g + " " + j + '\n' );
}
break;
case 2:
while (resultado.next()) {
String s = resultado.getString(etiquetas[0].toString());
String g = resultado.getString(etiquetas[1].toString());
int j = resultado.getInt(etiquetas[2].toString());
int e = resultado.getInt(etiquetas[3].toString());
String o = resultado.getString(etiquetas[4].toString());
jTextArea1.setText( jTextArea1.getText() + s + " " + g + " " + j + " "+ e + " " + o + '\n' );
}
break;
case 3:
while (resultado.next()) {
String s = resultado.getString(etiquetas[0].toString());
String g = resultado.getString(etiquetas[1].toString());
int j = resultado.getInt(etiquetas[2].toString());
jTextArea1.setText( jTextArea1.getText() + s + " " + g + " " + j +'\n' );
}
break;