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

GWT et Vaadin Java Discussion :

Différencier le clic simple d'un double-clic


Sujet :

GWT et Vaadin Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2011
    Messages : 20
    Points : 16
    Points
    16
    Par défaut Différencier le clic simple d'un double-clic
    Bonjour,

    Voila mon problème : j'ai un composant auquel j'ai ajouté un MouseDownHandler. J'aimerais lui ajouter aussi un DoubleClickHandler. Mais mon souci c'est que du coup quand je double-clique sur le composant, il me lance les deux événements.

    Comment je peux lui faire comprendre que si je double-clique, je veux pas qu'il me lance l'évènement du MouseDownHandler ?

    Merci

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Points : 279
    Points
    279
    Par défaut
    Bonjour Jaynes,

    Selon mon expérience, pour gérer l'évènement d'un clic, il vaut mieux utiliser un ClickHandler qu'un MouseDownHandler. Si tu essayais de remplacer ton MouseDownHandler par un ClickHandler, peut être que ça ne rentrerait pas en conflit avec ton double clic.
    Je n'ai aucune certitude mais c'est ce que j'essaierai à ta place.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2011
    Messages : 20
    Points : 16
    Points
    16
    Par défaut
    Je te remerci womannosky mais le problème c'est que je suis obligé d'utiliser le MouseDownHandler car je me sers ensuite du MouseDownEvent et du MouseUp

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Points : 279
    Points
    279
    Par défaut
    Dans ce cas, je ne peux pas t'aider, je n'ai pas d'autres idées...

  5. #5
    Rédacteur
    Avatar de benwit
    Profil pro
    dev
    Inscrit en
    Septembre 2004
    Messages
    1 676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 676
    Points : 4 265
    Points
    4 265
    Par défaut
    Si tu fait un system.ou.println dans tes deux handlers, il doit les appeler dans un certain ordre.

    Si le MouseDownHandler est appelé avant le DoubleClickHandler, tu ne pourras pas faire grand chose sauf à tester dans le MouseDownHandler s'il s'agit d'un double clic ou non. Cela doit être possible.

    Si le DoubleClickHandler est appelé avant le MouseDownHandler , il faut que tu stop la propagation de l'évènement.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2011
    Messages : 20
    Points : 16
    Points
    16
    Par défaut
    Oui il appelle deux fois le MouseDownHandler avant d'appeler le DoubleClickHandler

    Du coup, comment je peux faire pour tester si il s'agit d'un doucle clic ou non avant de lancer un évènement ? Il y a moyen de connaitre le temps entre 2 clics?

    Par exemple, si pas de 2ème clic après x millisecondes, lancer le MouseDownHandler sinon lancer le DoubleClickHandler ?

  7. #7
    Rédacteur
    Avatar de benwit
    Profil pro
    dev
    Inscrit en
    Septembre 2004
    Messages
    1 676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 676
    Points : 4 265
    Points
    4 265
    Par défaut
    Sur ton MouseDownHandler, tu dois avoir un MouseDownEvent qui te permet de récuperer un NativeEvent nativeEvent = event.getNativeEvent();

    et nativeEvent.getType() retourne un entier.

    qui devrait être égal à com.google.gwt.user.client.Event.ONDBLCLICK en cas de double click ou à com.google.gwt.user.client.Event.ONCLICK en cas de simple clic.

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

Discussions similaires

  1. [WD18] Différencier le simple clic du double clic
    Par ynsmtkl dans le forum WinDev
    Réponses: 8
    Dernier message: 01/02/2015, 11h52
  2. Ignorer l'action d'un clic simple si double clic
    Par deathness dans le forum SWT/JFace
    Réponses: 3
    Dernier message: 02/11/2011, 15h04
  3. Différencier clic et double clic
    Par Glherbier dans le forum VBA Access
    Réponses: 5
    Dernier message: 21/02/2011, 19h16
  4. [WD10] Coder un clic simple ou un double clic de la souris
    Par lepirate dans le forum WinDev
    Réponses: 10
    Dernier message: 31/08/2010, 16h04
  5. [JTable] Détection de simple clic et de double clic
    Par Core8 dans le forum Composants
    Réponses: 7
    Dernier message: 22/12/2006, 13h44

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