Je vais m'interesser à ce problème de thread.
Entre temps j'ai finalement trouvé une solution un peu bricolée:
au lieu d'initialiser la zone parj'initialise la zone parCode:new Rectangle(bouton.getLocation(), bouton.getSize())
Cela recouvre toute la page (et donc la totalité du bouton). Et ça marche.Code:new Rectangle(0,0,1366,800)
Ce que je trouve etrange c'est que si je ne suis pas sur un bouton, (bien que je sois dans la zone définie par 0,0,1366,800), cela ne fait rien.
Donc la solution fonctionne. Mais je trouve tout de même ça bizarre car dans le code on a juste unet donc que ça ne s'active pas si je ne suis pas sur le boutonCode:if(zone.contains(mousePoint))