Secondo me dovresti prima concentrarti a risolvere il problema proposto senza preoccuparti della grafica. Una volta che hai realizzato il programma funzionante puoi iniziare a realizzare la versione interattiva. Ovviamente questo è solo un mio consiglio. Comunque credo che tu debba intanto creare una classe Persona con i campi nome e cognome, dopodiché dovresti sfruttare una struttura del tipo:
Tutto ciò che so del produttore-consumatore è che hai una classe Receiver ed una Trasmitter le quali implementano Runnable. I nomi sono abbastanza autoesplicativi circa la loro funzione. Suppongo che il Receiver debba implementare lo sportello, nella quale metterai un metodo per estrapolare le persone da servire, inserendo un controllo circa il numero limite di persone.codice:Queue<Persona> persone = new LinkedList<Persona>();