Ver Mensaje Individual
  #5 (permalink)  
Antiguo 01/11/2013, 03:13
Avatar de chuidiang
chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: Actualizar un Jtable de un jframe padre desde un jdialog Hijo

Hola:

Tienes varias opciones:

Una es que el JDialog además de salvar el nuevo dato en base de datos se lo pase al JFrame para que lo añada a la tabla.

Otra opción es que el JDialog al cerrarse avise al JFrame para que el JFrame reconsulte los datos en base de datos y actualice su tabla.

En el primer caso, al JFrame (la clase que herede de JFrame) tienes que añadirle un método anadeNuevoUsuario(datosdelusuario). Este método debe añadir los datos a la tabla. Al JDialog tendrías que pasarle en el constructor un parámetro que sea el JFrame, de forma que cuando el JDialog haga el insert en base de datos, pueda también llamar a jframe.anadeNuevoUsuario().

En el segundo caso, basta que el JFrame al abir el JDialog le añada un addWindowListener(). De esta forma el JFrame se enterará cuando el JDialog se cierre y podrá reconsultar la base de datos.

Otra opción es hacer el JDialog modal. Al ser modal, el código del JFrame quedará bloqueado hasta que el JDialog se cierre. De esta forma, puedes poner al JDialog un metodo getNuevoUsuario() para que devuelva el usaurio recién creado, o bien dejar que el JFrame reconsulte la base de datos.

Código Java:
Ver original
  1. JDialgo dialog = new JDialog(modal=true,....);
  2. dialog.setVisible(true);    // Esta llamada se queda bloqueada hasta que el JDialog se cierre
  3.  
  4. // A partir de aqui el JDialog ya ha terminado. Si has puesto el metodo al JDialog puedes hacer esto
  5. nuevoUsuario = dialog.getNuevoUsuario();
  6. tabla.add(nuevoUsuario);
  7.  
  8. // Y si no lo has puesto, puedes hacer aquí la consulta
  9. nuevoUsuario = basededatos.queryNuevoUsuario();  // o todos los usuarios
  10. jtable.actualizaUsuarios();

En fin, hay muchas variantes.

Se bueno.
__________________
Apuntes Java
Wiki de Programación