bonsoir tout le monde
j'ai utilisé la classe swindworker dans mon programme pour faire un calcule (très lent) qui s'exécute en arrière plant ,donc voila
pour lancer le calcule il suffit de clicker sur un JButton,on peut lancer le calcule plusieurs fois a condition que l'ancien est fini
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 public class MODUL { MODUL() { //const } class calcul extends SwingWorker<Void,Void> { public Void doInBackground() { //un calcul lent // model.Adds(resulatat); afficher le resultat dans une JTable } public void done() { //signal de la fin } } // MyModel extends AbstractTableModel calcul exec=null; public void excute(MyModel model) { this.model=model; calcul exec=new calcul(); exec.execute(); } }
le problème:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 public class IHM { MODUL TF=new MODUL(); Button.addActionListener { TF.excute(model); } }
des fois la méthode doInBackground() n'accomplir pas sont travaille(peut etre une interruption) et la méthode done() me signal la fin de calcule
est-ce-que quelqu'un peut m'aider pour sortir de cette situation ,j'ai pensé que il y a une exception que je n'arrive pas a catché (peut etre)
merci
Partager