Foros del Web » Programación para mayores de 30 ;) » Java »

Problema al actualizar una tabla desde otro jframe

Estas en el tema de Problema al actualizar una tabla desde otro jframe en el foro de Java en Foros del Web. Hola buenos dias. Tengo un Jtable el cual si que me actualiza correctamente cuando hago cualquier alta o baja desde el mismo jframe. Pero realizo ...
  #1 (permalink)  
Antiguo 04/11/2011, 04:31
 
Fecha de Ingreso: diciembre-2005
Mensajes: 46
Antigüedad: 18 años, 4 meses
Puntos: 0
Problema al actualizar una tabla desde otro jframe

Hola buenos dias.

Tengo un Jtable el cual si que me actualiza correctamente cuando hago cualquier alta o baja desde el mismo jframe.

Pero realizo busquedas desde otro jFrame y he probado de todo para que se actualice el jtabla sin exito. Lo que hago desde el jFrame de busquedas es enviarle a la funcion que tengo implementada donde esta el jTable, la sentencia SQL para que haga la consulta a la BD y me liste los resultados. Pero no hace nada de nada, si que le llega bien la consulta, si que haria bien el repintar el table, pero no lo hace y no se que me falta...

Dejo el codigo que tengo.

public void recargarTabla(String sql){
try {
String sDriver = "oracle.jdbc.OracleDriver";
String sURL = "jdbc:oracle:thin:@localhost:1521:orcl";

Connection con = null;
Class.forName(sDriver).newInstance();

con = DriverManager.getConnection(sURL,"FILMOTECA","admi n");
if(sql == null)
sql = "SELECT * FROM PELICULAS";
PreparedStatement stmt = con.prepareStatement(sql);
ResultSet rs = stmt.executeQuery();
DefaultTableModel modelo = new DefaultTableModel(new Object [][] {},
new String [] {
"ID", "Titulo", "Año", "Formato", "Tarrina", "DVD", "Imagen"
}
);

while(rs.next()){
int i = 0;
Object [] fila = new Object[7];
for(int j = 1; j <= jTable1.getColumnCount(); j++){
fila[i] = rs.getString(j);
i++;
}

modelo.addRow(fila);
jTable1.setModel(modelo);

//Uso del Render
//jTable1.setDefaultRenderer(Object.class,new RenderTabla());
}
} catch (SQLException ex) {
Logger.getLogger(filmoteca.class.getName()).log(Le vel.SEVERE, null, ex);
} catch (ClassNotFoundException ex) {
Logger.getLogger(filmoteca.class.getName()).log(Le vel.SEVERE, null, ex);
} catch (InstantiationException ex) {
Logger.getLogger(filmoteca.class.getName()).log(Le vel.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
Logger.getLogger(filmoteca.class.getName()).log(Le vel.SEVERE, null, ex);
}
}
  #2 (permalink)  
Antiguo 05/11/2011, 00:23
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 2 meses
Puntos: 260
Sonrisa Respuesta: Problema al actualizar una tabla desde otro jframe

Hola,

Pues inclusive después que hice algunas pruebas, el método funciona bastante bien, pero posiblemente, suponiendo que no muestra ninguna excepción ... ¿Cuantas columnas tiene la tabla antes de que llames a este método?

Código Java:
Ver original
  1. for(int j = 1; j <= jTable1.getColumnCount(); j++){

Es decir, cuando creas la tabla, ¿la creas completamente vacía y después ejecutas este método?

Saludos,
  #3 (permalink)  
Antiguo 07/11/2011, 01:38
 
Fecha de Ingreso: diciembre-2005
Mensajes: 46
Antigüedad: 18 años, 4 meses
Puntos: 0
Respuesta: Problema al actualizar una tabla desde otro jframe

Tienen 7 antes de llamar, y devuelve ese for tambien 7 columnas. Y tengo definidas 7 tambien.

El metodo al finalizar, cuando hace lo siguiente:

modelo.addRow(fila);

Fila tiene los datos que me tendria que devolver el filtrado por busqueda que he realizado, y en principio añadiendoselo a la tabla tendria que pintarmelo.

Pero que ocurre, que es otra jframe el que realiza la orden de pintar la tabla, no es el mismo jframe que lo pinta. Y pienso yo que ahi esta el problema, que me falta un recargar, o un repintar, o algo asi porque el metodo no es el problema, porque si llamo a esa funcion desde el mismo jframe si que me pinta y actualiza con valores de la BD.

http://img405.imageshack.us/img405/9761/dibujounlu.jpg

http://img231.imageshack.us/img231/9371/dibujomx.jpg

Última edición por elmenda; 07/11/2011 a las 01:43
  #4 (permalink)  
Antiguo 07/11/2011, 13:28
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 2 meses
Puntos: 260
Sonrisa Respuesta: Problema al actualizar una tabla desde otro jframe

Hola,

Cita:
Iniciado por elmenda Ver Mensaje
Tienen 7 antes de llamar, y devuelve ese for tambien 7 columnas. Y tengo definidas 7 tambien.

El metodo al finalizar, cuando hace lo siguiente:

modelo.addRow(fila);
Pensé que posiblemente no tenía las 7 columnas, porque yo realice una prueba copiando tu código en un solo JFrame y funciona bien, al agregar las filas se muestran en pantalla. Así que no se me ocurre otra cosa más que decirte que pruebes con el método repaint() ya sea del JTable o del JFrame.

Saludos,
  #5 (permalink)  
Antiguo 07/11/2011, 13:41
 
Fecha de Ingreso: diciembre-2005
Mensajes: 46
Antigüedad: 18 años, 4 meses
Puntos: 0
Respuesta: Problema al actualizar una tabla desde otro jframe

tambien lo he usado y nada.

Lo que no llego a entender es porque se comporta diferente si se llama al metodo desde otro jframe que si fuera el mismo, los datos que le paso a la funcion es el mismo no entiendo el funcionamiento.
  #6 (permalink)  
Antiguo 17/11/2011, 03:59
 
Fecha de Ingreso: diciembre-2005
Mensajes: 46
Antigüedad: 18 años, 4 meses
Puntos: 0
Respuesta: Problema al actualizar una tabla desde otro jframe

No me creo que nadie tenga una solucion o no sepa como solucionarlo

Etiquetas: jframe, jtable, sql, string, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:11.