Comment stopper temporairement une tâche java

Babybel -  
 Babybel -
Bonjour,

Le programme que je développe dispose d'une interface principale que je dois garder ouverte à tout moment. Lors d'un clic sur un bouton, une fenêtre secondaire s'ouvre, avec laquelle l'utilisateur peut interagir. J'aimerais que les tâches qui suivent l'ouverture de la fenêtre secondaire s'arrêtent tant que celle ci est ouverte...



button.addActionListener(new ActionListener(){
                    public void actionPerformed(ActionEvent e) {
                	InterfaceTraitement spi = new InterfaceTraitement();  
              
                	directory = spi.retrieveDirectory;
                	System.out.println(directory);
                    }
                   
                });

Le problème étant que la variable "retrieveDirectory" n'est définie qu'à la fin du traitement de la fenêtre secondaire (l'interface 2)


A voir également:

1 réponse

Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
à ce moment là, il faut ajouter un signal et donc une fonction qui sera appelé lorsque ta deuxième fenêtre se fermera.
1
Babybel
 
OK merci je vais voir ce que je peux faire
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
sauf si une méthode du genre "spi.wait()" existe.
0
Babybel
 
oui oui cette méthode existe, mais elle arrête le mauvais thread. Ce qu'il me faudrait, c'est un genre de "verrouillage" de la fenêtre principale tant que la fenêtre "spi" tourne.
J'avais pensé à un timer qui check à intervalle régulier si "spi" tourne encore, mais bonjour la qualité du programme...
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
dans l'autre sens peut être alors:
wait(spi);
si la fonction peut prendre un argument.
0
Babybel
 
Ca ne marche pas non plus dans ce sens =/
0