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

EDT/SwingWorker Java Discussion :

MVC : SwingWorker dans le Contrôleur ?


Sujet :

EDT/SwingWorker Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    juin 2009
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2009
    Messages : 110
    Points : 52
    Points
    52
    Par défaut MVC : SwingWorker dans le Contrôleur ?
    Bonjour à tous,
    Je travaille sur une application développée selon les préceptes MVC !
    Les actions utilisateurs sur les vues sont envoyées au contrôleur, qui fait soit les calculs lui-même, soit appelle des grosses classes pour faire des calculs, puis opère les changements sur son modèle, celui-ci informant ensuite ses vues de ses changements via le pattern Observer.
    Ça marche nickel, sauf que j'ai des petits soucis avec des SwingWorkers.
    Je m'en sers surtout pour mettre à jour une fenêtre d'activité (avec une ProgressBar) de l'appli, qui tient l'utilisateur au courant de ce qu'il se passe lorsqu'il y a un traitement long à faire. Le problème, c'est que j'ai des actions contrôleur qui ne sont pas toutes longues, donc qui ne nécessitent pas de SwingWorker. Donc si je veux les réutiliser, ça met des SwingWorkers dans des SwingWorkers qui lancent des non-SwingWorkers ... j'arrive vite à ne plus maitriser du tout ce qu'il se passe !! Et surtout, je ne peux pas réutiliser des actions déjà faites.

    Auriez-vous des idées de rationalisations ? D'abord, un SwingWorker se met-il dans le contrôleur lorsque l'on utilise le pattern MVC ? J'ai lu des trucs un peu divergents sur le sujet !
    Merci !

  2. #2
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : août 2004
    Messages : 8 765
    Points : 12 920
    Points
    12 920
    Par défaut
    Tu aurais un exemple de ce qui t'emmerde?
    Car, là ta description est un peu fouillis, ça se sent que tu ne maîtrises plus tout.
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    juin 2009
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2009
    Messages : 110
    Points : 52
    Points
    52
    Par défaut
    En fait, pour l’imbrication de SwingWorkers, j'ai géré, mais c'est plus un problème conceptuel : où les met-on dans une architecture MVC ?
    Ce que je fais actuellement, c'est que le contrôleur appelle un SwingWorkers, effectue le calcul dans le doInBackground, et met à jour le modèle dans le done(). Est-ce la bonne façon de faire ?

  4. #4
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : août 2004
    Messages : 8 765
    Points : 12 920
    Points
    12 920
    Par défaut
    Bah, je ne verrais pas ou d'autre serait sa place.

    Quel est ton problème conceptuel avec?

    Modèle/Vue < - > Contrôleur < - > SwingWorker < - > Couche service < - > Ressource externe.

    Avec dans le done du SwingWorker la modification des modèles.
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    juin 2009
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2009
    Messages : 110
    Points : 52
    Points
    52
    Par défaut
    Bon bah nickel, on est d'accord ! j'avais des doutes car j'ai vu sur d'autres forums que certains mettaient leurs swingworkers dans leur modèle ...
    Je voulais donc susciter une discussion, mais qui n'intéresse pas grand monde on dirait
    je mets résolu et te remercie !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Spring MVC] erreur dans popup !
    Par Tail dans le forum Spring Web
    Réponses: 1
    Dernier message: 02/07/2007, 15h31
  2. Réponses: 3
    Dernier message: 18/05/2007, 17h03
  3. SwingWorker / dans le sens contraire?
    Par ®om dans le forum EDT/SwingWorker
    Réponses: 3
    Dernier message: 11/11/2006, 13h35
  4. [Spring MVC] tiles dans springMVC
    Par Tail dans le forum Spring Web
    Réponses: 1
    Dernier message: 28/10/2006, 19h03
  5. Site web MVC : Comment gérer le contrôleur frontal ?
    Par HALOMOTO dans le forum Langage
    Réponses: 5
    Dernier message: 10/10/2006, 18h59

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