Lis la documentation OFFICIELLE ;)
Tu passeras énormément de temps à ça, et tu as raté la méthode List#add(int position, E element) => http://docs.oracle.com/javase/6/docs/api/java/util/List.html#add%28int,%20E%29
Pour System.exit(int), lis aussi la documentation, et tu comprendras pourquoi ça déconne ;)
Megatotor: "Ou si vous avez une solution pour "geler" le programme pour que plus rien ne se passe et obliger à l'utilisateur de fermer via la croix je suis preneur. "
Ce n'est pas normal en terme d'interface utilisateur, mais la seule chose "propre" que tu puisses faire pour ça, à mon avis, c'est faire, dans ton popup de victoire, un seul bouton quittant (et détruisant) l'application.
Ps : "dispose" masque et détruit la fenêtre, mais le processus est toujours là.