Foro de elhacker.net

Programación => Java => Mensaje iniciado por: basickdagger en 17 Marzo 2011, 10:15 am



Título: problemas para sacar datos de un jtable(SOLUCIONADO)
Publicado por: basickdagger en 17 Marzo 2011, 10:15 am
hola, no llevo mucho tiempo programando en java y con objetos ahi disculpen si mis errores son muy tontos, el problema es este... tengo un jtable al q le cargo informacion, al darle click a un boton quiero jalar todo lo q haya en la columna 1 de todas las filas y un jtextfield... les dejo el pedazo de codigo
Código:
try {
int id=0;
id =(Integer.parseInt(txtidfac.getText()));// saco el valor del jtextfield

                        bd.abrir();//abro la clase bd q es mi base de datos en mysql y mi conector

                        System.out.println("este es id factura" + id);// este lo utilizo solo para ver si esta tomando el valor de mi textfield

                        int  idproducto=0;

                       for(int a=0; a<modelolista.getRowCount(); a++){// este lo utilizo para q cuente todas las posiciones de fila q haya

idproducto = ((Integer) modelolista.getValueAt(a,0)).intValue();// aki guardo las posiciones en idproducto

System.out.println("este es id producto" + idproducto);//lo utilizo para saber si lo esta guardando

                     datosmn.setId(id);//datosmn es mi clase de getters y setters
                     datosmn.setId_producto(idproducto);//aki cargo el objeto
                     bd.InsertarListado(datosmn);// envio el objeto a mi metodo insertarlistado q tengo en mi clase bd

}

}catch (SQLException ex) {}// cacho la excepcion
bd.cerrar();//cierro mi base de datos

el problema es q si me guarda lo q tengo en mi jtextfield, pero me manda una exception y ni si kiera me guarda el valor de idproducto... cuando me voy al error me envia un error en esta linea...

 idproducto = ((Integer) modelolista.getValueAt(a,0)).intValue();

pero solo al correrlo y ejecutar le boton... q piensan ustedes? hay alguna otra manera de cargar la primer celda de mi jtable de todas las filas? espero q me haya hecho entender  =)


Título: Re: problemas para sacar datos de un jtable
Publicado por: basickdagger en 18 Marzo 2011, 00:22 am
alguien q se apiada de mi alma!!!  :-(  xD


Título: Re: problemas para sacar datos de un jtable
Publicado por: hack-4-life en 18 Marzo 2011, 01:04 am
idproducto = ((Integer) modelolista.getValueAt(a,0)).intValue();// aki guardo las posiciones en idproducto
XD lo que veo es que no estas inicializando bien el metodo,yo lo haria algo como esto
Código:
tabla.addMouseListener(new MouseAdapter()
   {
      public void mouseClicked(MouseEvent e)
      {
         int fila = tabla.rowAtPoint(e.getPoint());
         int columna = tabla.columnAtPoint(e.getPoint());
         if ((fila > -1) && (columna > -1))
            System.out.println(modelo.getValueAt(fila,columna));
      }
   });
solo basta implementar bien este metodo modelo.getValueAt(fila,columna)); saludos XD yo tambien estoy aprendiendo jtable...


Título: Re: problemas para sacar datos de un jtable
Publicado por: basickdagger en 18 Marzo 2011, 01:24 am
pero... el mouseClicked creo q es cuando das click sobre la celda o fila...

en este caso quieor meter lo haya en una columna peor de todas las filas por ejemplo


id producto cantidad
100             2
300             7
650             1

quiero q cuando le de al boton guarde el 100,300 y 650 en la base de datos...


Título: Re: problemas para sacar datos de un jtable
Publicado por: hack-4-life en 18 Marzo 2011, 02:06 am
XD para empezar,trabaja como yo,no solo por programar,por programar te recomiendo MVC(model view controller) trabaja con clases,no todo el codigo en uno solo,asi solo manda a llamar un objeto en el actionPerformedEvent del JButton,asi evitas el error que te causa en el boton que dices saludos,yo hize algo paracido a lo que necesitas xd,dejame buscarlo y te lo paso saludos XD


Título: Re: problemas para sacar datos de un jtable
Publicado por: basickdagger en 18 Marzo 2011, 02:39 am
de hehco trabajo con ese control eso l otengo en un metodo donde mando llamar a varios objetos .. no lo aviento todo de golpee es para probar =)


Título: Re: problemas para sacar datos de un jtable
Publicado por: hack-4-life en 18 Marzo 2011, 02:49 am
te dejo esto xd,espero haberte ayudado,no estoy haciendo spam solo es por ayudar saludos
te dejo este hilo siguele,creo que eso es lo que necesitas saliudo xd
 http://jujuyjug.blogspot.com/2008/10/uso-de-jtable-iii-3-seleccionar-una.html (http://jujuyjug.blogspot.com/2008/10/uso-de-jtable-iii-3-seleccionar-una.html)


Título: Re: problemas para sacar datos de un jtable
Publicado por: basickdagger en 18 Marzo 2011, 03:44 am
lo eh podido resolver, aunque l oq venia ne la pagina era diferente, me sirvio una linea q adapte... y entonces mi codigo quedaria asi....


Código:
try {
int id=0;
id =(Integer.parseInt(txtidfac.getText()));// saco el valor del jtextfield

                        bd.abrir();//abro la clase bd q es mi base de datos en mysql y mi conector

                        System.out.println("este es id factura" + id);// este lo utilizo solo para ver si esta tomando el valor de mi textfield

                        String  idproducto="";// primero usare en string, por q ocn entero n ofunciono hahaha

                       for(int a=0; a<modelolista.getRowCount(); a++){// este lo utilizo para q cuente todas las posiciones de fila q haya

idproducto = String.ValueOf(modelolista.getValueAt(a,0));// aki guardo las posiciones en idproducto

System.out.println("este es id producto" + idproducto);//lo utilizo para saber si lo esta guardando, aki me aparecen ya los datos

                     datosmn.setId(id);//datosmn es mi clase de getters y setters
                     datosmn.setId_producto(idproducto);//aki cargo el objeto
                     bd.InsertarListado(datosmn);// envio el objeto a mi metodo insertarlistado q tengo en mi clase bd

}

}catch (SQLException ex) {}// cacho la excepcion
bd.cerrar();//cierro mi base de datos

y con eso funciona.. aunq despues tengo q convertir idproducto a Int pero asi si me sirve.. haha no entiendo por q suceda estoo, por q afuerza tengo q pasar la linea a String.. pero! q diablos! el proyecto tengo q entregarlo mañana y mientras funcione luego averiguare lo demas haha xD   Gracias!.. LO PONGO COMO SOLUCIONADO POR SI ALGUIEN Q TENGA ESTA DUDA SEPA Q YA SE SOLUCIONO HAHA Y NO PIERDA TANTO TIEMPO COMO YO EN BUSCARLE =)