Nel contesto di gestione di un evento, puoi fare tutte le operazioni che vuoi ... purché in totale non si vada ad impiegare "troppo" tempo.
I metodi dei listener sono invocati (dal framework) nel contesto del Event Dispatch Thread. Se tieni tu impegnato per troppo tempo il EDT, la tua interfaccia grafica resta "congelata" in quel frangente di tempo. Nulla può essere aggiornato/ridisegnato a video e altri eventi non possono essere dispacciati.
Quindi se fai:
codice:conta2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gif/Open16.gif")));
Va grosso modo bene e non impiega di certo tanto tempo.
Ma un:
codice:Thread.sleep(10000);
No, non va proprio bene.