Foro sobre Java SE > Pasar datos de un tabla SQL a un JTable
Para manejar JTable, y entender el código que uno mismo escribe (o el que genera por defecto NetBeans), y el código que "uno se encuentra por ahí", es imprescindible conocer muy bien lo que sigue:
http://docs.oracle.com/javase/7/docs/api/javax/swing/JTable.html
http://docs.oracle.com/javase/7/docs/api/javax/swing/table/DefaultTableModel.html
http://docs.oracle.com/javase/tutorial/uiswing/components/table.html
Hay dos entradas en este foro, donde se tratan temas parecidos a éste:
http://www.javahispano.org/java-se/post/1879373
http://www.javahispano.org/java-se/post/1868448
Como siempre, muchas gracias.
yo no tengo ningun lin de referencia pero en respuesta a tu pregunta de
"porque tengo que crear de nuevo las columnnas :(modelo.addColumn("nombre") );? "
he visto ejemplos por ahí en la red, ya que yo estoy haciendo lo mismo, traerme datos de XAMPP a un JTable y es porque son "el tipo de cada columna", es decir, en la columna nombre, tendras que poner los nombres de la tabla SQL donde tengas los nombres y asi lo mismo con los otros campos....
no se si te habrá ayudado XDD
pero basicamente es para eso para lo que se definen esos campos...
Deseo mostrar en jTable el contenido de una SQL. Mi código es el siguiente:
Conecto SQL.....OK
try {
rs = st.executeQuery("select * from empleados");
} catch (SQLException ex) {
Logger.getLogger(VerVentana.class.getName()).log(L evel.SEVERE, null, ex);
}
DefaultTableModel modelo = new DefaultTableModel();
JTable tabla = new JTable(modelo);
// rellenar el DefaultTableModel con los datos del ResultSet de forma manual.
// Creamos las columnas.
modelo.addColumn("idempleados");
modelo.addColumn("nombre");
modelo.addColumn("contraseña");
try {
// Bucle para cada resultado en la consulta
while (rs.next()){
// Se crea un array que será una de las filas de la tabla.
Object [] fila = new Object[3]; // Hay tres columnas en la tabla
// Se rellena cada posición del array con una de las columnas de la tabla en base de datos.
for (int i=0;i<3;i++)
fila[i] = rs.getObject(i+1); // Hay tres columnas en la tabla
// Se añade al modelo la fila completa.
modelo.addRow(fila);
System.out.println(modelo);
Tengo en un panel contenedor un jtable ya formateado, no entiendo en este código (sacado de la red y modificado) ¿por que tengo que crear de nuevo las columnnas :(modelo.addColumn("nombre") );? , además con las pruebas para que me los muestre en consola (System.out.println(modelo);) supuestamente la info de la SQL la extrae pero en código ASCI.
Obviamente me doy cuenta que se me escapan muchos conceptos, no deseo que se me corrija el código, solo que se me ilumine un poco. Gracias