Hola de nuevo.
Pablor, te comento o a ver si hay alguien sabe la solucion. Que me estoy volviendo majara por segundos...
Es que no lo entiendo. He hecho la simple prueba haciendo otra aplicacion, pero esta vez no una aplicacion de escritorio, sino una simple aplicacion java.
Tengo mi clase Main.java que simplemente llama a un JFrame que sera la ventana principal. Esta ventana tiene un boton, pulso, y me lleva a una segunda ventana.
Aqui empieza lo importante. En esta segunda ventana JDialog es donde tengo el JTable que quiero rellenar(desde otra ventana). Tambien hay un boton, que lo pulso y me lleva a otro ventana(la tercera y ultima). Y lo que quiero es que desde esta tercera ventana al escribir algo, al darle a aceptar me haga la consulta y me rellene el JTable de la ventana de antes....
Me hace bien la consulta, incluso me pasa los datos bien a la clase donde tengo el jTable pero a la hora de rellenar el JTable no lo hace! ni siquiera me da error!!!
Esta es la clase donde esta el JTable y quiero rellenarlo desde la clase hija:
Cita: public class previoABuscarPais extends javax.swing.JDialog {
private DefaultTableModel modelo;
public previoABuscarPais(java.awt.Frame parent, boolean modal) {
super(parent, modal);
initComponents();
modelo = (DefaultTableModel)jTable1.getModel();
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
buscapais a = new buscapais(null, true);
a.setVisible(true);
}
public ArrayList<Judokas> recibe_judokas_pais(){ //metodo que recibe los judokas de un pais y los pone en la tabla
ArrayList<Judokas> lista3=new ArrayList<Judokas>();
buscapais judokaspais = new buscapais(null, true);
lista3 = judokaspais.devuelveJudokasPais(); //devuelve el listajudokapais de buscarpais, es un ArrayList
Judokas judo[] = new Judokas[lista3.size()];
judo = lista3.toArray(judo);
System.out.println(judo.length); AQUI ME MUESTRA QUE EL LENGTH ES 2, PORLOQUE LA LLAMADA A LA CLASE DEVUELVEJUDOKASPAIS FUNCIONA Y LO RETORNA BIEN!! PERO AHORA JUSTO NO ME RELLENA EL JTABLE
for(int i=0;i<judo.length;i++){
System.out.println("--------------");
Object[] fila = new Object[12];
fila[0]=judo[i].getId();
fila[1]=judo[i].getNombre();
fila[2]=judo[i].getApellido1();
fila[3]=judo[i].getApellido2();
fila[4]=judo[i].getFecha();
fila[5]=judo[i].getSexo();
fila[6]=judo[i].getPais();
fila[7]=judo[i].getComunidad();
fila[8]=judo[i].getClub();
fila[9]=judo[i].getDNI();
fila[10]=judo[i].getEdad();
fila[11]=judo[i].getPeso();
modelo.addRow(fila);
}
jTable1.setModel(modelo);
return lista3;
}
Clase buscarPais que solamente hace la consulta:
Cita: public class buscapais extends javax.swing.JDialog {
/** Creates new form buscapais */
previoABuscarPais vamos = new previoABuscarPais(null, true);
public buscapais(java.awt.Frame parent, boolean modal) {
super(parent, modal);
initComponents();
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
vamos.recibe_judokas_pais();
dispose();
}
public ArrayList<Judokas> devuelveJudokasPais(){
//HACE CONSULTA Y RETORNA ARRAYLIST
}
Se que me dijiste que el error estaba en el null de buscapais judokaspais = new buscapais(null, true); pero es que no me deja poner THIS, me da error! y ademas....es que si que funciona en el sentido de que retorna bien todo! si pongo println de los arrays veo que me los muestra bien, pero en cambio, no me rellena el jTable cuando si lo hago desde la misma clase si que funciona....
Si no pongo null que pongo??