SwingWorker.doInBackground() n'accomplit pas sa tache
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:
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:
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 :calim2: ) 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