Bonjour,
j'implémente une option de drag and drop sur mon application et j'aimerais afficher une image ou du texte au-dessus du curseur lorsque l'utilisateur glisse l'objet.
Voyez-vous comment réaliser cela ? Je n'ai rien trouvé de tel.
Bonjour,
j'implémente une option de drag and drop sur mon application et j'aimerais afficher une image ou du texte au-dessus du curseur lorsque l'utilisateur glisse l'objet.
Voyez-vous comment réaliser cela ? Je n'ai rien trouvé de tel.
Il y a un Widget qui s'appelle Tracker, je ne sais pas bien comment il fonctionne mais regarde quand même il me semble que ça se rapproche de ton problème.
Sinon tu peux essayer en créant un Cursor ou en peignant sur le Display.
Quand t'auras choisi une solution n'hésite pas à demander si tu ne vois pas bien comment l'implémenter.
A+
Merci pour ton aide.
J'ai commencé à regarder avec un Tracker, puis je me suis tourné vers un Cursor.
Problème avec un Cursor : l'application utilise les curseurs prédéfinis par SWT et mon curseur ne change qu'après le "glisser".
Question : j'utilise un MouseListener : dans mouseDown() je change le curseur et dans mouseUp() je remet le curseur normal. Or, lorsque je clic et maintiens enfoncé la souris puis je relache, mouseUp() n'est pas effectué ??
C'est parce que l'événement est envoyé au controle sur lequel tu avais cliqué et non pas sur le controle d'arrivée (si ton problème vient de là).
Sinon pour ce qui est du curseur tu peux en créer un avec une instance de Image, comme tu peux dessiner dans un objet de type Image avec un de type GC en passant l'image au constructeur du graphic context, tu peux créer des curseurs à la volée qui peuvent avoir un look différent en fonction de ce que tu déplaces.
N'oublie cependant pas l'appelle à dispose() sur tout ces objets.
Ok pour créer un nouveau curseur.
Mais comment savoir que l'utilisateur maintient le bouton gauche de la souris enfoncé ?
À partir du moment où il clique sur un controle les événement souris sont envoyé à celui ci (on peut récupérer un MouseMove alors que la souris est hors du controle), donc si le controle sur lequel il a cliqué reçoit un événement MouseUp c'est que l'utilisateur à relaché le bouton.
Pour tester de quel bouton il s'agit tu peux utiliser le champs button de l'événement qui contient 1, 2, 3... en fonction du numbéro du bouton appuyé.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager