Probleme Activer/Desactiver thread
Salut à tous,
J'ai développer un thread qui compare à chaque fois le nombre de ligne d'une table de ma base de données:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| public boolean verifier(int x) {
String query2 = "select count(*) from client ";
try{
ResultSet rs=cn.getResultat(query2);
while (rs.next()) {
nblignes2 = rs.getInt(1);
}
rs.close();
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Erreur lors de l'exécution de la requête recherche du nouveau nombre enregistrement client");
}
if( nblignes2 != x) {
//System.exit(-1);
return false;
}
else
return true;
} |
et
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
| public void run(){
String query = "select count(*) from client";
try{
ResultSet rs=cn.getResultat(query);
while (rs.next()) {
nblignes = rs.getInt(1);
}
rs.close();
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Erreur lors de l'exécution de la requête recherche nombre enregistrement client");
}
while (!isInterrupted()){
if (verifier(nblignes)==false){
JOptionPane.showMessageDialog(null, "Une modification a été effectué sur la table client");
nblignes=nouveaunblignes();
//System.out.println("=>"+ nblignes);
//System.exit(-1);
}
try {
Thread.sleep(7000);
} catch (InterruptedException ex) {
Logger.getLogger(EspionProduit.class.getName()).log(Level.SEVERE, null, ex);
}
}
} |
****
et dans la page d'acceuil j'ai fait un bouton (soit activer, soit desactiver), et je veut que le thread soit activé ou bien activé en fonction du clic de l'utilisateur ... j'ai testé avec ce code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| EspionClient thread1 = new EspionClient();
if (pageacceuil.comptclt % 2 ==0)
{
actclt.setText("Activer");
thread1.interrupt();
}
else {
actclt.setText("Desactiver");
thread1.start();
}
pageacceuil.comptclt ++; |
Avce actclt est le nom du bouton et comptclt est un compteur pour pouvoir basculer entre l'affichage de "activer" et "desactiver" sur le bouton ...
L'activation fonctionne parfaitement, mais quand je clique pour désactivé le thread, rien ne se passe et le thread continue a s'exécuté ... :calim2:
Que dois-je faire pour arrêter le thread en cliquant sur désactiver? :roll:
Merci ;)