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

[SOLUCIONADO] Pasar variable de jTable a método para cargar otro jTable en JAVA

Estas en el tema de Pasar variable de jTable a método para cargar otro jTable en JAVA en el foro de Java en Foros del Web. Buenas, lo que necesito en teoría no era dificil, pero como estoy iniciando con Java, la llevo liada. Trabajo con MVC. En la vista tengo ...
  #1 (permalink)  
Antiguo 26/12/2014, 08:40
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 5 meses
Puntos: 175
Pasar variable de jTable a método para cargar otro jTable en JAVA

Buenas, lo que necesito en teoría no era dificil, pero como estoy iniciando con Java, la llevo liada. Trabajo con MVC. En la vista tengo un campo jText y 2 jTables en modo privado, pero envio por getters al controlador con un listener.

Ok, Obtengo desde un campo jText el número de documento de un cliente, primero verifico con un método que contiene un SQL si la persona es o no cliente, en caso de ser cliente tengo 2 métodos, 1 que solo carga el nombre el cliente y su id en campos jText disabled false para que no sea editable, y el segundo método se encarga de llenar una tabla con las cabeceras de sus prestamos, y los va listando en la TABLA1, hasta aca, listo.

La idea de todo esto es que cuando seleccione una de las filas de la tabla1 o cabecera, obtenga el valor de la primera fila que sería el ID del prestamo, y me desgloce en la tabla2 los detalles de dicho prestamo... pero no se como obtener el valor de esa fila y pasarlo a la otra tabla.. uff.. recuerden que es MVC y me manejo con métodos... les paso lo que tengo, a ver si me echan luz, me cuesta un poco aun el JAVA, tengan compasión, jaja..

Pero oigan, yo se como cargar la tabla2, es más, ya tengo el método que lo hace, el problema es entonces, OBTENER EL VALOR de la tabla1 y pasarlo a la TABLA2, siempre y cuando se vayan seleccionando las filas con las flechas arriba y abajo del teclado o un click del mouse... a ver, aca va parte de mi code...


EN EL CONTROLADOR

miClaseCrtl.java

Código Java:
Ver original
  1. // Aca creo el método para cargar los datos a la TABLA 2
  2. public void obtenerDetallesPrestamo(int idsolicitud) {
  3.         //agrego un objeto tipo TABLE MODEL
  4.         DefaultTableModel dtm = new DefaultTableModel();
  5.         //creo las columnas para el objeto
  6.         dtm.addColumn("N° Préstamo");
  7.         dtm.addColumn("N° Cuota");
  8.         dtm.addColumn("Fecha Vto.");
  9.         dtm.addColumn("Capital");
  10.         dtm.addColumn("Interés");
  11.         dtm.addColumn("Monto Pago");
  12.         dtm.addColumn("Mora");
  13.         dtm.addColumn("Fecha Pago");
  14.         dtm.addColumn("Estado");
  15.  
  16.         //creo un contador para ver si obtengo datos en la consulta
  17.         int contadorPer = 0;
  18.         //genero la consulta SQL a la base de datos
  19.         String sqlCon = "SELECT idprestamo, predet_nrocuota, predet_fechavto, predet_capital, predet_interes, predet_montopago, predet_mora, predet_fechapago, predet_estado "
  20.                 + "FROM prestamo_detalle "
  21.                 + "WHERE idprestamo = '" + idsolicitud + "'";
  22.         System.out.println(sqlCon);
  23.         //pregunto si es que al ejecutar el SQL existe
  24.         if (this.con.ejecutar(sqlCon) > 0) {
  25.             //creo mi resultset
  26.             ResultSet rs = this.con.rs;
  27.             //obtengo los campos a traves de un objeto array
  28.             try {
  29.                 while (rs.next()) {
  30.                     // aumento el contador cada vez que se genere un resultado
  31.                     contadorPer++;
  32.                     dtm.addRow(new Object[]{
  33.                         rs.getInt("idprestamo"),
  34.                         rs.getInt("predet_nrocuota"),
  35.                         rs.getInt("predet_fechavto"),
  36.                         rs.getInt("predet_capital"),
  37.                         rs.getInt("predet_interes"),
  38.                         rs.getInt("predet_montopago"),
  39.                         rs.getInt("predet_mora"),
  40.                         rs.getInt("predet_fechapago"),
  41.                         rs.getInt("predet_estado")
  42.                     });
  43.                 }
  44.             } catch (SQLException e) {
  45.                 System.out.println(e.getMessage());
  46.             }
  47.         }
  48.         // compruebo si existen resultados
  49.         if (contadorPer > 0) {
  50.             // cargo los datos al modelo de la tabla de la vista
  51.             this.vista.getTbprestamodetalles().setModel(dtm);
  52.         } else {
  53.             JOptionPane.showMessageDialog(vista, "No se encuentran resultados");
  54.         }
  55.  
  56.     }
  57.  
  58. //aca intento obtener el dato de la TABLA 1 Y ES AQUI DONDE TENGO PROBLEMAS, pUES NO SE COMO PASARLO AL METODO DE ARRIBA
  59. public void obtenerIdPrestamo() {
  60.         int fila = this.vista.getTbdatos().getSelectedRow();
  61.         if (fila != -1) {
  62.            this.vista.getTbprestamodetalles().getValueAt(fila, 0).toString();
  63.  
  64.         }
  65.     }
  66.  
  67. @Override
  68.     public void keyPressed(KeyEvent evt) {
  69.        
  70.         if(evt.getSource() == this.vista.getTbdatos()){
  71. //En realidad ni siquiera entra en esta validación.. :(
  72.             JOptionPane.showMessageDialog(vista, "Estas presionando cualquier tecla");
  73.             if(evt.getKeyCode() == 38){
  74.                
  75.                //aca debería invocar uno de los métodos
  76.                
  77.             }
  78.            
  79.             if(evt.getKeyCode() == 40){
  80.                 //aca debería invocar uno de los métodos
  81.             }
  82.         }
  83.        
  84.     }

Como se dan cuenta, me perdí un poco... ayuda plis..
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...

Última edición por loncho_rojas; 26/12/2014 a las 08:51
  #2 (permalink)  
Antiguo 26/12/2014, 11:46
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 5 meses
Puntos: 175
Respuesta: Pasar variable de jTable a método para cargar otro jTable en JAVA

Bueno, ya lo resolvi...

Código Java:
Ver original
  1. public void obtenerIdPrestamo() {
  2.         int fila = this.vista.getTbdatos().getSelectedRow();
  3.         if (fila != -1) {
  4.            DefaultTableModel m = (DefaultTableModel)this.vista.getTbdatos().getModel();
  5.            
  6.            int id = (int) m.getValueAt(fila, 0);
  7.            obtenerDetallesPrestamo(id);
  8.  
  9.         }
  10.     }

en las acciones

Código Java:
Ver original
  1. @Override
  2.     public void keyReleased(KeyEvent ke) {
  3.  
  4.         if(ke.getSource() == this.vista.getTbdatos()){
  5.            
  6.             if(ke.getKeyCode() == 38 || ke.getKeyCode() == 40 ){
  7.                 //System.out.println("Holaaaaaaaa");
  8.                 obtenerIdPrestamo();  
  9.             }
  10.            
  11.         }
  12.     }
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...

Etiquetas: clase, jtable, string, valor, variable
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 01:38.