Com'è definita la classe ProxyElaboratore? Perché vedo che nell'ascoltatore prendi una frase tramite quella...
questo è il proxy:
codice:
public class ProxyElaboratore extends Observable implements IElaboratore{

	private IElaboratore elaboratore;
	
	public ProxyElaboratore(IElaboratore elaboratore) {
		super();
		this.elaboratore=elaboratore;
	}
	
	@Override
	public char[] getCaratteri() {
		// TODO Auto-generated method stub
		return elaboratore.getCaratteri();
	}
	
	@Override
	public String getTesto() {
		// TODO Auto-generated method stub
		return elaboratore.getTesto();
	}
	
	@Override
	public String risolvi(char[] caratteri) {
		// TODO Auto-generated method stub
		return elaboratore.risolvi(caratteri);
	}
	
	public void update(){
		
		setChanged();
		notifyObservers();
		
	}
	
}


Questa è l'interfaccia Elaboratore:

codice:
public interface IElaboratore {

	public abstract String risolvi(char[] caratteri);

	public abstract String getTesto();

	public abstract char[] getCaratteri();

}
se vi può essere più chiaro, carico anche l'uml del progetto:






Già, all'interno di actionPerformed() prendi sempre i dati presenti nell'oggetto elaboratore (ProxyElaboratore);
Ok fin qui ci sono...

l'oggetto inoltre non è corretto crearli li fuori, andrebbe istanziato all'interno del costruttore, ma se ogni volta nel costruttore ci deve essere un nuovo dato, devi creare l'istanza da un altra parte.
mi sono perso, potresti spiegarti meglio?

Grazie a tutti dell'aiuto!