Foro sobre Java EE > actualizar jtable en tiempo de ejecucion
Estaría mejor publicado en el foro JavaSE.
De todos modos, esa inserción en la base de datos, ¿desde dónde se realiza?.
Ese método que mencionas solo funciona cuando se han hecho cambios en el modelo de la tabla, y no avisa de cambios en la tabla, sino que informa al los renderers de la tabla que el modelo ha cambiado, y debe actualizarse la visualización.
Si quieres lograr lo que pretendes, cuando haces esa inserción (suponiendo que se realiza desde la misma aplicación) deberías cambiar apropiadamente el modelo de la tabla.
Tampoco mencionas si usas el modelo por defecto, o uno propio.
Hola Joker. Te recomiendo este tutorial:
https://m.youtube.com/watch?v=65tXYULxKeM
Saludos.
la vdd soy novato y modificar clases aun no experimento con eso
y si utilizo el modelo por defecto de la tabla que es el defaultablemodel
Lo que debes hacer es poner en un método la carga del tablemodel desde la base de datos y asignacion a la tabla y ejecutar este método cada vez que hagas un cambio a la base de datos.
ejemplo:
void MostrarTrabajadores(){
try{
ResultSet r=sentencia.executeQuery("select * from Trabajadores");
String titulos[]={"DNI","Nombre","Apellidos","Sueldo","Fecha","Matricula"};
m=new DefaultTableModel(null,titulos);
String fila[]=new String[6];
while(r.next()){
fila[0]=r.getString("DNI");
fila[1]=r.getString("nombre");
fila[2]=r.getString("apellidos");
fila[3]=r.getString("sueldo").replace(".",",");
fila[4]=r.getString("fecha");
fila[5]=r.getString("matricula");
m.addRow(fila);
}
tabla.setModel(m);//la tabla se actualiza.
HacerCalculos(r);
}catch(Exception e){
JOptionPane.showMessageDialog(null,"Error al extraer los datos");
}
}
metodo para agregar:
private void btnNuevoActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
dialogoNuevo.setSize(300,400);
dialogoNuevo.setModal(true);
dialogoNuevo.setVisible(true);
MostrarTrabajadores();
}
obviamente no esta el codigo completo pero la idea es mostrar la actualizacion de la tabla al llamar al metodo MostrarTrabajadores().
Hola que tal buenas
tengo una duda estoy utilizando netbeans y mysql como base de datos
ahora la duda es que quiero actualizar un jtable en tiempo de ejecución
es decir que si inserto un registro en la base de datos este se muestre de forma automática en el jtable sin necesidad de presionar el botón de mostrar datos(este botón hace una consulta a la base de datos y muestra los registros en el jtable) leyendo por ai me encuentro con que modelo.fireTableDataChanged(); este método según avisa los cambios de la tabla pero la verdad que no me funciona ayuda