Java - Entrada de datos desde un JTable

 
Vista:

Entrada de datos desde un JTable

Publicado por Eduardo Ibarra (3 intervenciones) el 12/03/2010 03:09:47
-Perdonen por el doble post, pero en el título pasado pensé que debería de poner un título como sr., dr. o algo así, me despisté por completo jeje...-

Qué tal amigos programadores? Me estoy adentrando cada vez más en Java, y estoy creando un sencillo sistema de gestión para una biblioteca. Ya funciona perfectamente en consola, y ahora estoy tratando de implementarle una interfaz gráfica, mi cuestionamiento es acerca de la entrada de datos desde una JTable:

Lo que quiero es, mediante un mouselistener, cuando yo haga click en una celda, el programa me capture la posición de la fila de esa celda y de tal fila, extraer la información de cada columna en variables separadas (una variable para el Isbn, otra para el autor, otra para la editorial, etc.) y así poder mandar yo una consulta a SQL ya sea para modificar o agregar un libro.

No tengo idea de como obtener la posición de la fila, me imagino que ha de existir un método que me permita obtener la posición 'x' y 'y' de tal celda, pero no sé como hacer eso.

Tampoco sé como obtener la información de cada celda que ha modificado el usuario en esa fila en específico.

Espero me puedan ayudar, muchas gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 755
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

RE:Entrada de datos desde un JTable

Publicado por Yamil Bracho (2315 intervenciones) el 12/03/2010 19:43:55
Mas o menos por alli va la cosa. Lo unico es que agregas un MouseListener al JTable y alli obtienes la fila y la columna, Por ejemplo:

this.ackTable.addMouseListener(new MouseAdapter() {

@Override
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 2) {
JTable target = (JTable) e.getSource();
int row = target.getSelectedRow();
int column = target.getSelectedColumn();

ArchivoRecepcion archivoRecepcion = ackTableModel.getArchivoRecepcion(row);
logger.info(archivoRecepcion.toString());
InfoDialog.show(app.getMainFrame(), archivoRecepcion.toString());
}
}
});
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar