Appel de plugins utilisant un listener
Bonjour,
Je rencontre un problème étrange...
Pour résumer, je développe actuellement un (gros) plugin pour ImageJ. J'aimerai pouvoir, au cours du traitement d'une image, permettre à l'utilisateur de sélectionner une ROI. Je veux donc faire appel à un MouseListener. Problème : si je fais les opérations associées ailleurs que dans la méthode run(), le programme plante (il freeze).
Ca ne m'arrange pas car dans mon run() je fais appel à plusieurs méthodes ! (j'ai en fait une toolbar créée dans mon run(), qui lance d'autres plugins ou d'autres méthodes au clic sur un bouton).
J'ai pu reproduire le problème très simplement, avec l'exemple du Mouse_Listener.java (http://rsb.info.nih.gov/ij/plugins/mouse-listener.html).
Mettons qu'au moment où je clique sur l'image, je souhaite appeler une fenêtre "Wait for User" (qui contient donc elle-même un MouseListener), par la ligne de code suivante :
Code:
new WaitForUserDialog("Do something, then click OK").show();
J'ai testé deux choses :
- ajouter la ligne de code à la fin du run() => pas de problème d'exécution, même si ça ne fait pas ce que je veux
- ajouter la ligne de code à la fin de mousePressed(MouseEvent e) => à priori ce que je veux faire, mais le programme freeze
Est-ce que vous rencontrez le même problème? Avez-vous une idée pour le résoudre ou le contourner?
Merci d'avance :ccool: