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

Interfaces Graphiques en Java Discussion :

Pas d'appel à mouseDragged


Sujet :

Interfaces Graphiques en Java

  1. #1
    Nouveau candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2011
    Messages : 2
    Par défaut Pas d'appel à mouseDragged
    Bonjour,

    J'ai un problème des plus surprenants.

    Je développe actuellement une interface graphique assez simple avec le modèle MVC, en résumé :
    - mon modèle contient une liste d'objets
    - ma vue dessine les objets de la liste en les représentant par des cercles
    - mon contrôleur sélectionne un cercle particulier et permet son déplacement à la souris

    Seulement, mes cercles ne se déplacent pas, et je me suis aperçu à l'aide de quelques syso qu'il n'y a en fait pas d'appel à mouseDragged lorsque je déplace ma souris.
    Ce problème est relatif à ce programme uniquement, mes autres interfaces graphiques fonctionnent parfaitement.
    Mon contrôleur est extends MouseAdapter, et j'ai redéfini uniquement mousePressed pour la sélection et désélection des cercles et mouseDragged pour le déplacement. Bref, comme je fais d'habitude, quoi (sauf que d'habitude ça marche plutôt bien...).

    Y a-t-il quelqu'un à qui c'est arrivé ou bien mon cas est-il unique au monde ? -_-'
    (Je suppose qu'il y a une explication rationnelle mais j'ai beau chercher je ne vois pas)

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    C'est mouseMotionListener qui possède mouseDragged, pas MouseAdapter.


    Pour avoir les mouvement, il faut donc implémenter cette interface et l'enregistrer auprès du composant

  3. #3
    Nouveau candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2011
    Messages : 2
    Par défaut
    J'ai résolu mon problème, c'était complètement idiot finalement

    En fait la classe MouseAdapter implémente bien l'interface MouseMotionListener, donc avec un contrôleur extends MouseAdapter, tu peux redéfinir à la fois les méthodes de MouseListener et MouseMotionListener.
    Seulement, lors de la création de la classe principale, addMouseListener(controleur) n'a d'effet que sur les méthodes de MouseListener du controleur en paramètre, il faut donc aussi ajouter un addMouseMotionListener(controleur), petit détail que j'avais oublié.

    A présent, ce qu'il faut m'expliquer, c'est pourquoi le projet que j'ai pris pour modèle fonctionne alors que j'y ai fait la même bêtise

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Effectivement, elle l'implémente, depuis java 6 (javais zieuté la doc java 5 :p)

    L'autre projet fait probablement un add mouse motion listener quelque part d'autre.

Discussions similaires

  1. Coinitialize n'a pas été appelé
    Par nazimb dans le forum Bases de données
    Réponses: 6
    Dernier message: 20/04/2007, 15h39
  2. [struts-Validator] pas d'appel javascript
    Par Christophe P. dans le forum Struts 1
    Réponses: 1
    Dernier message: 28/09/2006, 14h41
  3. Réponses: 17
    Dernier message: 22/09/2006, 08h37
  4. classement en sql (enfin je ne sais pas comment appeler)
    Par shirya dans le forum Langage SQL
    Réponses: 1
    Dernier message: 27/09/2005, 08h29
  5. Pas d'appel à une fonction si mode Release
    Par Crisanar dans le forum C++
    Réponses: 8
    Dernier message: 17/09/2005, 04h54

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