No entiendo por que esta ocurriendo esto, y no es en la primera llamada cuando debe de funcionar bien, quizás esto me este pasando a mi sólo, o es un problema de Java con los observadores, supongo que estaré haciendo algo mal. Os pongo el código:
Código:
Y este es el update del observador:public void addGrupo_Punto(Componente pp) { // Primero buscamos si se encuentra ya dado de alta, para ponerlo a True, y si no se añade. Iterator <Componente> it = this.lC_Group_Punto.iterator(); while (it.hasNext()){ Componente c = it.next(); if (pp.getGrupo().equals(c.getGrupo()) && pp.getNombreComponente().equals(c.getNombreComponente()) && !(c.isEstado())){ c.setEstado(true); // Hacemos una notificación a quien nos observan notifyObservers(Constantes.GRUPO_PUNTO); setChanged(); return; } } // Entonces no se ha encontrado. this.lC_Group_Punto.add(pp); // Hacemos una notificación a quien nos observan notifyObservers(Constantes.GRUPO_PUNTO); setChanged(); System.out.println("Hemos realizado la notificación"); }
Código:
A ver si alguien me puede ayudar o como puedo solucionar esto por que he estado buscando algo por internet que le haya pasado a alguien similar y no he encontrado nada...public void update(Observable ob, Object o) { System.out.println("Se actualiza"); if (ob != null){ InfoPanel i = (InfoPanel)ob; this.infoArrival.setText(i.toStringHTML_Arrival()); this.infoDeparture.setText(i.toStringHTML_Departure()); this.infoTerminal.setText(i.toStringHTML_Terminal()); this.infoPunto.setText(i.toStringHTML_Punto()); } }
Muchas gracias a todos!