El problema no estaba en el código en el que nos estábamos fijando, os cuento, el problema era que a la hora de cargar la tabla (que aparece en el JDialog) con los datos de los cuales extraigo los String que necesito para los dichosos JTextField, llamaba a otra clase que tengo para acceder a mi base de datos en la que se cargan las filas de la tabla (de mi JDialog, es decir, en mi ventanaPrincipal(JFrame)), que pasaba que lo que hacia era ventanaPrincipal = new VentanaPrincipal(); con lo que eso era mi error porque creo (soy novato) que ahí estaba generando otra nueva ventanaPrincipal, no?
Así que lo que he hecho ha sido pasar mi ventanaPrincipal a la clase de mi acciones con la base de datos como parametro:
Código
accionesClientes = new AccionesClientes(this); accionesClientes.mostrarClientes();
donde this es mi ventanaPrincipal
y en la otra clase:
Código
public AccionesClientes(VentanaPrincipal ventanaP) { this.setVentanaPrincipal(ventanaP); //serviceC = new ServiceCliente(); } public VentanaPrincipal getVentanaPrincipal() { return ventanaP; } public void setVentanaPrincipal(VentanaPrincipal ventanaPrincipal) { this.ventanaP = ventanaPrincipal; } try { if (tablaCompleta) { consulta = 3; sql = "select * from clientes"; r = gestionSql.cogerTabla(sql); while (r.next()) { fila[0] = r.getString("cod_cliente"); fila[1] = r.getString("nombreyapellido"); fila[2] = r.getString("cliente_habitual"); fila[3] = r.getString("descuento"); getVentanaPrincipal().getTablaClientes().addRow(fila); } getVentanaPrincipal().getTblClientes().setModel(getVentanaPrincipal().getTablaClientes()); getVentanaPrincipal().getDialogoClientes().setSize(700,350); getVentanaPrincipal().getDialogoClientes().setLocation(100,100); getVentanaPrincipal().getDialogoClientes().setResizable(false); getVentanaPrincipal().getDialogoClientes().setModal(true); getVentanaPrincipal().getDialogoClientes().setVisible(true); } else { consulta = 1; sql = "select * from clientes where cod_cliente ="+ codigo; respuesta = gestionSql.executeSql(sql, columna, consulta); } }
Ahora si funciona. Muchas gracias a todos