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 :

connecter des figure avec un fleche


Sujet :

Interfaces Graphiques en Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2010
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 76
    Par défaut connecter des figure avec un fleche
    Bonjour a tous
    voila mon problème :
    j ai un programme qui dessine des forme( des figures) dans un panel , et ces figure doivent être relier entre elle par des flèches (des connecteur ) et pour ca ja fait ce petit code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    //récupérer x et y lors de clic de la souris 
       public void mousePressed(MouseEvent e) 
    	   {
    		  x=e.getX();
    		  y=e.getY();
    		   a=true;
     
    	   }	
    //récupérer z et t lorsque on relache le bouton 
           public void mouseReleased(MouseEvent e) 
           {
        	           z=e.getX();
    		   t=e.getY();
    		   b=true;
                       repaint(); 
         }
    //code de dessin de la droit 
    	public void paintComponent(Graphics g){
    		super.paintComponent(g);
    		g.setColor(Color.black);
            if(a==true && b==true){
                         g.drawLine(x, y, z, t);
                         g.drawLine(z-5, t-5, z, t);
    		     g.drawLine(z+5, t-5, z, t);
     
    		           }
    ce code marche parfaitement tant que le flèche est vertical , le problème c est la pointe a la fin de la ligne . elle doit suivre l inclinaison de la ligne (a la manière de ArgoUML pour ceux qui connaissent ) et je n es aucune idée de comment le faire alors si vous avez une idee elle sera la bien venue
    j espère que j était claire et merci a tous .

  2. #2
    Membre éclairé
    Homme Profil pro
    NoOb
    Inscrit en
    Mai 2007
    Messages
    554
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : NoOb

    Informations forums :
    Inscription : Mai 2007
    Messages : 554
    Par défaut
    Bonjour,

    2 x 2 cas:
    z > x : flèche vers la droite.
    z < x : flèche vers la gauche.

    t > y : flèche vers le bas.
    t < y : flèche vers le haut.

    Après pour les flèches obliques, faudrait calculer un angle à partir des 2 droites pour compléter la direction.

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2010
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 76
    Par défaut
    Citation Envoyé par Génoce Voir le message
    Bonjour,

    2 x 2 cas:
    z > x : flèche vers la droite.
    z < x : flèche vers la gauche.

    t > y : flèche vers le bas.
    t < y : flèche vers le haut.

    Après pour les flèches obliques, faudrait calculer un angle à partir des 2 droites pour compléter la direction.
    merci a toi ,
    j ai aussi penser a ca , juste pour les 2 cas vertical, horizontal , mais c trop compliquer pour le reste .

  4. #4
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Il suffit de tricher pour faire en sorte que tu n'aies qu'à la dessiner à la verticale.

    • Crée un contexte graphique temporaire au moyen de la méthode create de tes graphics
    • Applique une translation sur les graphics temporaire afin que l'orignie de ta flèche fasse office d'origine du repère (0,0)
    • Applique une rotation sur ces graphics temporaire, de telle façon que tu dessines ta flèche de façon verticale.
    • Dessiner la flèche verticale
    • Détruire le contexte graphique temporaire en appelant sa méthode dispose. (bien penser à appeler dispose sur les graphics temporaire et surtout pas sur les graphics d'origine, sinon ça va foutre sévèrement le merdier)
    • Le boulot est fini

  5. #5
    Membre confirmé
    Inscrit en
    Décembre 2010
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 76
    Par défaut
    Citation Envoyé par sinok Voir le message
    Il suffit de tricher pour faire en sorte que tu n'aies qu'à la dessiner à la verticale.

    • Crée un contexte graphique temporaire au moyen de la méthode create de tes graphics
    • Applique une translation sur les graphics temporaire afin que l'orignie de ta flèche fasse office d'origine du repère (0,0)
    • Applique une rotation sur ces graphics temporaire, de telle façon que tu dessines ta flèche de façon verticale.
    • Dessiner la flèche verticale
    • Détruire le contexte graphique temporaire en appelant sa méthode dispose. (bien penser à appeler dispose sur les graphics temporaire et surtout pas sur les graphics d'origine, sinon ça va foutre sévèrement le merdier)
    • Le boulot est fini
    merci a toi
    je connais pas ces méthodes, ni le contexte graphique temporaire , mais c est ca peux régler mon problème ca serai génial
    je vais faire une petit recherche sur tous ca , c j ai une question je reviens

Discussions similaires

  1. tailles des figures avec \subfigure
    Par Christinita dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 0
    Dernier message: 19/10/2012, 11h18
  2. logiciel de création des figures avec latex
    Par oumay dans le forum Editeurs / Outils
    Réponses: 4
    Dernier message: 09/08/2010, 16h10
  3. Composant connectant des bloc avec des splines
    Par Jeff Nodrev dans le forum wxWidgets
    Réponses: 4
    Dernier message: 18/03/2008, 14h35
  4. [Débutant] connecter un serveur avec des ordinateurs clients
    Par Guispeed4262 dans le forum Windows Serveur
    Réponses: 5
    Dernier message: 10/11/2007, 18h36
  5. Réponses: 2
    Dernier message: 26/06/2007, 16h23

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