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!


