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
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 =)
alguien q se apiada de mi alma!!! :-( xD
Cita de: basickdagger en 17 Marzo 2011, 10:15 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
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...
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...
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
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 =)
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)
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....
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 =)