
problema con jtable dentro de un listener
Publicado por Jesus (5 intervenciones) el 17/05/2023 22:11:29
Voy a intentar explicarme lo mejor posible para que me ayudeis a resolver éste problema
Tengo un método donde utilizo un jtable y un listener para realizar acciones con la fila seleccionada de esa table
El método dispone de unos botones para seleccionar registros que despliegan un jtable con las filas asociadas a
dicho registro.
Después he definido un listener que según la fila seleccionada realiza acciones pero resulta que sólo selecciona
el número de filas que tenía el primer registro, en mi caso es uno. Y no lanza ningún método el listener porque
no se seleccionan las demás filas que sin embargo si se han rellenado bien antes.
Os pongo el código por si sirve de ayuda.
DefaultTableModel modeloFicherosRecuerdos = new DefaultTableModel(null,new String[] {"NUMERO_RECUERDO","NOMBRE"});
JTable tablaFicherosRecuerdos = new JTable(modeloFicherosRecuerdos);
try {
st = con.createStatement();
sql="SELECT NUMERO_RECUERDO,NOMBRE FROM GESTIONCONSULTAS.FOTOS_RECUERDOS WHERE NUMERO_RECUERDO=" + textoNumero;
rs = st.executeQuery(sql);
while (rs.next()) {
Object [] fila = new Object[2];
for (int i=0;i<2;i++) {
fila[i] = rs.getObject(i+1);
listaFicheros[cuenta][i]=fila[i].toString();
}
cuenta++;
modeloFicherosRecuerdos.addRow(fila);
}
} catch (SQLException ex) {
ex.printStackTrace();
System.out.println("Error en consultas fotos recuerdos " + ex.getErrorCode() + ": " + ex.getMessage());
}
tablaFicherosRecuerdos.addMouseListener(new MouseListener() {
public void mouseReleased(MouseEvent e) {
System.out.println("mouseevent") ;
}
public void mousePressed(MouseEvent e) {
System.out.println("mousepressed") ;
}
public void mouseExited(MouseEvent e) {
System.out.println("mouseexited") ;
}
Espero que me haya explicado bien.
Gracias.
Tengo un método donde utilizo un jtable y un listener para realizar acciones con la fila seleccionada de esa table
El método dispone de unos botones para seleccionar registros que despliegan un jtable con las filas asociadas a
dicho registro.
Después he definido un listener que según la fila seleccionada realiza acciones pero resulta que sólo selecciona
el número de filas que tenía el primer registro, en mi caso es uno. Y no lanza ningún método el listener porque
no se seleccionan las demás filas que sin embargo si se han rellenado bien antes.
Os pongo el código por si sirve de ayuda.
DefaultTableModel modeloFicherosRecuerdos = new DefaultTableModel(null,new String[] {"NUMERO_RECUERDO","NOMBRE"});
JTable tablaFicherosRecuerdos = new JTable(modeloFicherosRecuerdos);
try {
st = con.createStatement();
sql="SELECT NUMERO_RECUERDO,NOMBRE FROM GESTIONCONSULTAS.FOTOS_RECUERDOS WHERE NUMERO_RECUERDO=" + textoNumero;
rs = st.executeQuery(sql);
while (rs.next()) {
Object [] fila = new Object[2];
for (int i=0;i<2;i++) {
fila[i] = rs.getObject(i+1);
listaFicheros[cuenta][i]=fila[i].toString();
}
cuenta++;
modeloFicherosRecuerdos.addRow(fila);
}
} catch (SQLException ex) {
ex.printStackTrace();
System.out.println("Error en consultas fotos recuerdos " + ex.getErrorCode() + ": " + ex.getMessage());
}
tablaFicherosRecuerdos.addMouseListener(new MouseListener() {
public void mouseReleased(MouseEvent e) {
System.out.println("mouseevent") ;
}
public void mousePressed(MouseEvent e) {
System.out.println("mousepressed") ;
}
public void mouseExited(MouseEvent e) {
System.out.println("mouseexited") ;
}
Espero que me haya explicado bien.
Gracias.
Valora esta pregunta


0