IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SWT/JFace Java Discussion :

Bouton pour interrompre traitement


Sujet :

SWT/JFace Java

  1. #1
    Membre éclairé
    Inscrit en
    Octobre 2007
    Messages
    401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 401
    Par défaut Bouton pour interrompre traitement
    Bonjour

    J'ai une application SWT qui possède 2 boutons. 1 qui effectue une traitement et l'autre que je voudrais utilisé pour interrompre ce traitement.

    Le traitement du premier bouton est un traitement assez lourd et fait en sorte que l'application ne soit pas disponible et ainsi je ne peut pas appuyer sur le bouton Cancel pour interrompre ce traitement.

    Pour exemplifier imaginons que j'ai ce code:

    public void actionPerformed (FileViewInterface view, int actionCode) {
    switch (actionCode)
    case ACTION_PROCESS :
    for(int j=0; j<1000000;j++) {
    System.out.println("a");
    }
    break;
    case ACTION_CANCEL:
    System.out.println("Interrupting treatment");
    cancel();
    break;
    }
    }
    Ce qui ce passe est que le bouton qui lance l'action ACTION_CANCEL n'est disponible que quand le for de l'action ACTION_PROCESS termine.

    Comment faire en sorte que le bouton Cancel soit toujours disponible?

    Merci

  2. #2
    Membre confirmé Avatar de ForgetTheNorm
    Homme Profil pro
    Docteur en informatique
    Inscrit en
    Novembre 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Docteur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2006
    Messages : 133
    Par défaut
    Citation Envoyé par pjmorce Voir le message
    Bonjour
    Le traitement du premier bouton est un traitement assez lourd et fait en sorte que l'application ne soit pas disponible et ainsi je ne peut pas appuyer sur le bouton Cancel pour interrompre ce traitement.
    Ton problème est qu'un même thread affiche en même temps l'interface graphique et fait le traitement ; du coup, l'IG ne s'update que lorsque ton traitement est terminé.

    Deux solutions me viennent à l'esprit :
    - la solution du Runnable (bien documenté)
    - lancer un thread pour effectuer ta tâche, afin de séparer IG / calcul.

  3. #3
    Membre éclairé
    Inscrit en
    Octobre 2007
    Messages
    401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 401
    Par défaut
    Merci

    Je vais voir ces 2 possibilités...

    Cordialement

    Citation Envoyé par ForgetTheNorm Voir le message
    Ton problème est qu'un même thread affiche en même temps l'interface graphique et fait le traitement ; du coup, l'IG ne s'update que lorsque ton traitement est terminé.

    Deux solutions me viennent à l'esprit :
    - la solution du Runnable (bien documenté)
    - lancer un thread pour effectuer ta tâche, afin de séparer IG / calcul.

Discussions similaires

  1. Bouton pour stopper un traitement
    Par stoner2008 dans le forum JSF
    Réponses: 13
    Dernier message: 26/02/2014, 14h40
  2. Réponses: 5
    Dernier message: 30/06/2007, 11h56
  3. [JFileChooser] Bouton pour sauvegarder.
    Par Katyucha dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 03/01/2005, 12h02
  4. Utiliser les exceptions pour un traitement particulier ?
    Par Blustuff dans le forum Assembleur
    Réponses: 11
    Dernier message: 01/12/2004, 02h21
  5. [FLASH MX2004] Bouton pour lire vidéo
    Par kiki93 dans le forum Flash
    Réponses: 10
    Dernier message: 23/11/2004, 11h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo