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

2D Java Discussion :

drag and drop polygone et ligne


Sujet :

2D Java

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 19
    Points : 12
    Points
    12
    Par défaut drag and drop polygone et ligne
    Bonjour,

    j'aimerais faire un drag and drop de lignes et de polygones que je dessine sur un panel. Est ce que quelqu'un pourrait me guider pour savoir comment le faire?

    Merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 852
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 852
    Points : 22 869
    Points
    22 869
    Billets dans le blog
    51
    Par défaut
    Ingredients de la recette :
    - Un JPanel surcharge nottament au niveau de paintComponent().
    - Un MouseListener (clicks), MouseMotionListener (deplacement), MouseInputListener (clicks+deplacement) ou MouseWheelListener (la roulette) (note : ca peut etre le panel lui-meme, une classe anonyme ou une classe interne).
    - une LinkedList<Point> pour stocker les points intermediaires du polygone en train d'etre creer.
    - un Point stockant la coordonnee actuelle de la souris
    - une LinkedList<Polygon> pour stocker les polygones deja crees.
    - une reference vers le Polygon actuellement selectionne.

    Creation pas a pas :
    - lors de la detection d'un click : ajouter un nouveau point correspondant aux coordonnees de la souris dans la liste de point, mettre a jour la coordonnee actuelle de la souris et reafficher.
    - lors de la detection d'un mouvement de la souris : mettre a jour la coordonnee actuelle de la souris et reafficher.
    - lors de la detection de l'evenement de fin d'edition (c'est a toi de decider comment tu veux terminer ton edition), tu parcours ta liste de points, tu creer un nouveau polygone que tu stocke dans la liste appropriee et tu vide la liste de points et reafficher.
    - dans la methode de dessin :
    - parcourir la liste des polygones et les dessiner a l'ecran avec la couleur appropriee.
    - parcourir la liste des points et dessiner des droites qui les relient les uns au autre a l'ecran avec la couleur d'edition appropriee.
    - terminer par une droite reliant le dernier point de la liste (s'il y en a un) aux coordonnees actuelles de la souris avec la couleur appropriee pour la mettre en valeur (il s'agit du segment en train d'etre positionne).

    Drag pas a pas :
    - lors de la detection d'une pression sur un bouton : parcourir la liste de polygones (en partant de la fin, car les polygones en fin de liste sont rendus par dessus les autres) et trouver le 1er polygone se trouvant a ces coordonnees (via la methode contains()). Mettre la reference du polygone selectionne sur ce polygonne, stocker les coordonnees de la souris et reafficher.
    - lors de la detection d'un mouvement de la souris : calculer le differentiel de mouvement par rapport au point de reference et appliquer ce mouvement au polygone selectionne et reafficher.
    - lors de la detection du relachement du bouton : calculer le differentiel de mouvement par rapport au point de reference et appliquer ce mouvement au polygone selectionne, nullifier la reference du polygone selectionne, nullifier/reinitialiser les coordonnees de reference et reafficher.

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 19
    Points : 12
    Points
    12
    Par défaut
    merci pour l'aide bouye

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Ce post m'intéresse grandement. J'essaie de Drag and drop des polygones(rectangles inclinés) , je n'ai pas eu de problèmes pour drag and drop des rectangles, mais lorsque ceux ci sont inclinés ils se déplacent sur un repère incliné du coup lorsque j'essaie de drag and drop ces polygones ils ne suivent pas ma souris. Si vous avez un début de piste n'hésitez pas.

  5. #5
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 852
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 852
    Points : 22 869
    Points
    22 869
    Billets dans le blog
    51
    Par défaut
    Si tu effectues une ou plusieurs transformations sur le Graphics au moment de peindre (coord polygon -> coord ecran), il te faut appliquer la ou les transformations inverses (coord ecran -> coord polygon) au moment de la reception des evenements de la souris.

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

Discussions similaires

  1. [API HTML5] Echange de lignes avec DRAG and DROP
    Par Isiker dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 17/07/2015, 11h22
  2. ExtJs 4 - Grid - Drag and Drop - Ne pas rendre une ligne draggable
    Par ROD_M6C dans le forum Ext JS / Sencha
    Réponses: 4
    Dernier message: 20/12/2011, 22h54
  3. affichage d'une ligne lors d'un drag and drop
    Par jaljal dans le forum Flex
    Réponses: 13
    Dernier message: 09/03/2010, 11h41
  4. Réponses: 0
    Dernier message: 09/07/2009, 16h48
  5. Drag and drop id de la ligne deplacée
    Par taddart1981 dans le forum Ruby on Rails
    Réponses: 1
    Dernier message: 17/09/2007, 15h16

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