Anche se hai già risolto il tuo problema, forse ti potrebbe essere di aiuto un piccolo consiglio.
Prima di iniziare a sviluppare un programma (soprattutto se visuale, come il tuo) è meglio che inizi a pensare alla progettazione del programma e quindi cominci a scrivere.
Quando hai bene in mente (meglio su carta) quello che vuoi fare allora cominci ha studiare la gestione degli eventi (che a quanto ho capito è il tuo problema), ovvero prendi in analisi cosa dovrebbe accadere. Quando hai studiato tutte le casistiche allora traduci in codice le tue azioni e crei gli ascoltatori, che sono speciali classi che implementano le interfacce come KeyListener, MouseListener, WindowListener,... le quali specificano una serie di metodi per la gestione delle azioni di tastiera, mouse, finestra,... come ad esempio la pressione di un tasto, il click del mouse, la chiusura della finestra.
Dopo aver scelto l'ascoltatore adatto a te, e implementato il metodo che ti interessa, ai praticamente risolto il tuo problema.
Spero di esserti stato utile.