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 :

tracer des droites à l'aide de la souris


Sujet :

2D Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 110
    Par défaut tracer des droites à l'aide de la souris
    bonjour,

    j'ai un problème lorsque je veux tracer une simple ligne avec la souris dans un jpanel , j'obtiens juste des points


    comment faire pour résoudre le problème?


    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
     
    import java.awt.*;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseListener;
    import java.awt.event.MouseMotionListener;
    import javax.swing.*;
     
    public class Ligne extends JPanel{
     
            int xDep,yDep,xArr,yArr;
            int x,y;
     
            public Ligne(){
                setLayout(new BorderLayout());
                addMouseListener(new PointeDessin());
                addMouseMotionListener(new BougeDessin());
            }
     
            public void paintComponent(Graphics g){        	
            	Graphics2D g2 = (Graphics2D) g;
                g2.setRenderingHint(
                    java.awt.RenderingHints.KEY_ANTIALIASING, 
                    java.awt.RenderingHints.VALUE_ANTIALIAS_ON
                );
     
                g2.drawLine(xDep,yDep,xDep,yDep);
                g2.setColor(Color.RED);
     
                g2.setRenderingHint(
                    java.awt.RenderingHints.KEY_ANTIALIASING, 
                    java.awt.RenderingHints.VALUE_ANTIALIAS_OFF
                );
            }
     
            public class PointeDessin  implements MouseListener{
                public void mousePressed(MouseEvent pointeur) {
                    xDep = pointeur.getX();
                    yDep = pointeur.getY();
                }
     
                public void mouseClicked(MouseEvent arg0) {}
                public void mouseReleased(MouseEvent arg0) {}
                public void mouseEntered(MouseEvent arg0) {}
                public void mouseExited(MouseEvent arg0) {}
            }
     
            public class BougeDessin implements MouseMotionListener{
     
                public void mouseDragged(MouseEvent pointeur) {
                    xArr = getX()+(pointeur.getX()-xDep);
                    yArr = getY() + (pointeur.getY()-yDep);
                    setBounds(xArr,yArr,getWidth(),getHeight());
                    repaint();
                }
     
                public void mouseMoved(MouseEvent arg0) {}
            }
    }

    si je remplace la méthode paintcomponent par ceci
    les lignes se dessinent du haut à droite vers le bas à gauche, alors que moi je veux pouvoir tracer des lignes dans tous les sens

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public void paintComponent(Graphics g){
                super.paint(g);
                g.setColor(Color.black);
                g.drawLine(0, getHeight(), getWidth(), 0);
    }

    merci d'avance de m'aider

    Jacko2

  2. #2
    Expert confirmé

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 819
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 819
    Par défaut
    Salut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
                g2.drawLine(xDep,yDep,xDep,yDep);
    hum... une ligne entre le point de départ et le point de départ, ça donne un point, oui, effectivement, donc ton programme marche nickel, il fait ce que tu lui as demandé!

    faudrait voir en visant le point d'arrivée...
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 110
    Par défaut
    il marche pas si nickel que ça :p

    quelqu'un sait me dire comment tracer une droite avec la souris en drag and drop?

    merci d'avance

  4. #4
    Expert confirmé

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 819
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 819
    Par défaut
    Citation Envoyé par jacko2 Voir le message
    quelqu'un sait me dire comment tracer une droite avec la souris en drag and drop?
    Je viens de te dire de modifier ta ligne pour tracer ta droite... tu traces une droite "ponctuelle" telle qu'elle est là!
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

Discussions similaires

  1. Réponses: 1
    Dernier message: 23/04/2013, 22h21
  2. tracer des droites dans la méme figure
    Par karika dans le forum MATLAB
    Réponses: 5
    Dernier message: 15/01/2013, 16h16
  3. tracer des axes à l'aide de PCA
    Par Paolo. dans le forum Images
    Réponses: 6
    Dernier message: 11/10/2012, 03h22
  4. Tracer des droites à main levée ?
    Par usul3 dans le forum Excel
    Réponses: 2
    Dernier message: 28/01/2012, 00h01
  5. comment tracer des traits à la souris ?
    Par FoxDeltaSierra dans le forum Général Conception Web
    Réponses: 2
    Dernier message: 01/09/2005, 16h49

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