Poi vedo che di Urna istanzi 1 oggetto e lo fai usare sia a Producer che a Consumer (che eseguono in thread separati). Questo porta al fatto che la classe Urna deve essere scritta per gestire correttamente la sincronizzazione tra i thread.
La sincronizzazione dei thread la faccio utilizzando synchronized per i metodi.
C'è solo una questione: la classe Consumer non l'hai postata ... non so dove l'hai definita e come è fatta. In sostanza: che cosa "sa" della interfaccia utente?
questa è la classe
codice:
public class Consumer implements Runnable{
private int delay;
private Urna buffer;
public Consumer (Urna buffer,int delay ){
this.delay=delay;
this.buffer=buffer;
}
public void run() {
for(int i=0;i<5;i++){
int info = buffer.remove();
System.out.println(info);
try {
Thread.sleep(delay);
}catch (InterruptedException ex){
ex.getMessage();
}
}
}
}
quindi non conosce niente dell'interfaccia...
In Consumer puoi fare in modo che esso possa avere (in qualunque modo) un riferimento o al text field o alla istanza di Gui?
quindi devo creare un oggetto Gui e poi da li, arrivare al jTextField e cont setText inserire le info giusto??