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
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();
}
 
}
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
 
public class IHM
{  
MODUL TF=new MODUL();
Button.addActionListener
{
TF.excute(model);
}
}
le problème:
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