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 :

Interface SWT selon le modèle MVC


Sujet :

SWT/JFace Java

  1. #1
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 16
    Points : 8
    Points
    8
    Par défaut Interface SWT selon le modèle MVC
    Bonjour à tous !!
    je réalise une application RCP et j'utilise donc la librairie graphique SWT.
    J'ai vu sur Internet un exemple de réalisation de modèle MVC avec SWT.

    Seulement je bloque quelque peu ! Dans la fonction handleEvent du controler je ne vois pas quoi faire avec l'objet Event...Je sais pas non plus quoi envoyer comme premier argument dans la propriété addListener....

    on affecte le controleur à un bouton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    boutonListeTravail.addListener(Argument ??, control)
    on gère l'évènement dans le controleur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    public void handleEvent(Event event) {
    }
    En espérant mettre fait comprendre
    Merci de l'intérêt porté !

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 145
    Points : 179
    Points
    179
    Par défaut
    le addListener est une facilité pour ne pas à chercher éternellement la méthode associée à l'événement que l'on veut gérer.
    Donc le premier argument est le type d'event. On trouve une tripoté de constantes dans la classe SWT.
    Le deuxième argument est le listener qu'on veut ajouter (et pas le control, sauf s'il implémente le listener... )
    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    control.addListener(SWT.MouseDown, listener);
    Ensuite, avec l'objet Event, tu peux récupérer le type de l'Event avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public void handleEvent(Event e) {
      if (event.type == SWT.MouseDown) {
        //do something
      }
    }

  3. #3
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 16
    Points : 8
    Points
    8
    Par défaut
    Bonjour,
    Merci de ta réponse Jense

    Le deuxième argument implémente bien Listener (il est vrai que control est pas très approprié - c'est juste pour l'idée du controleur).

    En revanche pour le premier argument :
    J'ai tout une ribambelle de boutons dans ma vue, et j'aimerais détecter dans la méthode handleEvent lequel à été utilisé afin d'effectuer l'action correspondante (via le model). Tout ceci afin de garder l'aspect MVC (je tiens à séparer les couches).

    Donc je ne pense pas que les constantes de la classe SWT me permettent de retrouver quel bouton à été sélectionné. Si j'ai bien compris (j'espère), ces constantes permettent seulement de détecter une action, non pas un objet parmis d'autres.

    En espérant mettre fait comprendre
    Merci (*^_^*)

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 145
    Points : 179
    Points
    179
    Par défaut
    Citation Envoyé par LoloBebop
    Bonjour,
    J'ai tout une ribambelle de boutons dans ma vue, et j'aimerais détecter dans la méthode handleEvent lequel à été utilisé afin d'effectuer l'action correspondante (via le model). Tout ceci afin de garder l'aspect MVC (je tiens à séparer les couches).
    Tu peux aussi récupérer la source de l'event.
    Je ne sais plus quel est le paramètre mais c'est soit
    soit

  5. #5
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 16
    Points : 8
    Points
    8
    Par défaut
    En fait il suffit que la classe du controleur implémente SelectionListener ainsi que les méthodes widgetSelected(SelectionEvent e) et widgetDefaultSelected(SelectionEvent e)
    On peut ensuite utiliser la fonction addSelectionListener dans la vue.

    Effectivement, on peut récupérer la source du composant sélectionné avec e.getSource()

    Merci pour ton aide Jense

    Sinon il me reste une petite question toute bête !
    J'aimerais mettre une couleur de fond sur un bouton. La méthode setBackground(Color color) ne semble pas marcher pour un composant Button..

    Une idée ?

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 145
    Points : 179
    Points
    179
    Par défaut
    En fait, en SWT, les boutons sont récupérés de l'OS. Donc je ne pense pas que ce soit possible (à moins que tu ne change la couleur de tous les boutons dans tes préférences system )

  7. #7
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 16
    Points : 8
    Points
    8
    Par défaut
    D'accord !! J'espérais qu'une méthode permettait d'éviter cela justement !!!

    Donc tant pis, ils resteront tout gris

    merci à toi Jense

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

Discussions similaires

  1. Application RCP, modèle MVC avec SWT
    Par Leniouns dans le forum SWT/JFace
    Réponses: 6
    Dernier message: 15/05/2013, 15h45
  2. jsf et le modèle MVC
    Par mjihanne dans le forum JSF
    Réponses: 11
    Dernier message: 21/03/2008, 13h01
  3. Derniers techno pour la conception d'une appli web selon le modèle MVC
    Par deklog dans le forum Général Conception Web
    Réponses: 6
    Dernier message: 15/03/2008, 19h31
  4. [Architecture] Comment s'approcher du modèle mvc ?
    Par nikalkal dans le forum EDI/Outils
    Réponses: 4
    Dernier message: 21/06/2006, 17h46
  5. Architecture J2EE et modèle MVC
    Par alexd dans le forum Développement Web en Java
    Réponses: 4
    Dernier message: 23/02/2005, 15h59

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