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

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    juin 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : Djibouti

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juin 2020
    Messages : 3
    Points : 3
    Points
    3
    Par défaut dessiner des points et des lignes avec la souris interface graphique
    Bonjour à tous.je voudrais que en cliquant sur un bouttons qui represente les points de dessiner plusieurs point avec la souris sur mon jpanel puis cliquer sur un bouttons qui represente les lignes pour dessiner une lignes entre les differentes points de facons que quand je clique sur un point puis je clique sur un autre point une ligne se met en place s'ils vous plait je suis encore un debutant c'est un projet a rendre aidez-moi

    voila mon code :i

    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
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    package mousab;
     
     
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.Dimension;
    import java.awt.Graphics;
    import java.awt.Point;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.MouseAdapter;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseListener;
    import java.util.ArrayList;
    import java.util.List;
     
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.SwingUtilities;
     
    public class CirclePaintTest implements Runnable, MouseListener {
     
           private JFrame frame;
     
           private PaintPanel paintPanel;
     
           @Override
           public void run() {
               frame = new JFrame("Circle Paint Test");
               frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     
               final JPanel mainPanel = new JPanel();
               mainPanel.setLayout(new BorderLayout());
     
               paintPanel = new PaintPanel();
               mainPanel.add(paintPanel, BorderLayout.CENTER);
     
               JPanel buttonPanel = new JPanel();
               JPanel buttonPane = new JPanel();
               JButton lineButton = new JButton("Draw Lines");
               final JButton pointButton = new JButton("desiner");
         /*      pointButton.addActionListener(new ActionListener() {
     
            		@Override
            		public void actionPerformed(ActionEvent e) {
            			if(e.getSource()==pointButton ){
            				mainPanel.add(new CircleMouseListener());
                			mainPanel.repaint();
            			}
            			
            			
            		}
            		
            	}
            			);*/
     
               lineButton.addActionListener(new ActionListener() {
                   @Override
                   public void actionPerformed(ActionEvent event) {
                       if (paintPanel.isComplete()) {
                           paintPanel.setDrawLines(true);
                           paintPanel.repaint();
                       }
                   }
               });
               buttonPanel.add(lineButton);
               buttonPane.add( pointButton);
               mainPanel.add(buttonPanel, BorderLayout.SOUTH);
               mainPanel.add(buttonPane, BorderLayout.NORTH);
               frame.add(mainPanel);
     
               frame.pack();
               frame.setLocationByPlatform(true);
               frame.setVisible(true);
           }
     
           public static void main(String[] args) {
               SwingUtilities.invokeLater(new CirclePaintTest());
           }
     
    	@Override
    	public void mouseClicked(MouseEvent arg0) {
    		// TODO Auto-generated method stub
     
    	}
     
    	@Override
    	public void mouseEntered(MouseEvent arg0) {
    		// TODO Auto-generated method stub
     
    	}
     
    	@Override
    	public void mouseExited(MouseEvent arg0) {
    		// TODO Auto-generated method stub
     
    	}
     
    	@Override
    	public void mousePressed(MouseEvent arg0) {
    		// TODO Auto-generated method stub
     
    	}
     
    	@Override
    	public void mouseReleased(MouseEvent arg0) {
    		// TODO Auto-generated method stub
     
    	}
           }
    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
    public class PaintPanel extends JPanel {
     
               private static final long serialVersionUID = 6481890334304291711L;
     
               private final Color[] colors = { Color.RED, Color.GREEN, Color.BLUE,
                       Color.ORANGE, Color.CYAN, Color.YELLOW };
     
               private boolean drawLines;
     
               private final int pointLimit;
     
               private final List<Point> points;
     
               public PaintPanel() {
                   this.points = new ArrayList<Point>();
     
                   this.drawLines = false;
     
                   this.setPreferredSize(new Dimension(400, 400));
               }
     
     
     
               public void paintComponent(Graphics g) {
                   super.paintComponent(g);
     
                   Point pp = null;
                   Point p0 = null;
     
                   for (int i = 0; i < points.size(); i++) {
                       g.setColor(colors[i]);
     
                       Point p = points.get(i);
                       g.fillOval(p.x - 20, p.y - 20, 40, 40);
     
                       pp = p;
                   }
     
                   if (drawLines && (points.size() > 1)) {
                       p0 = points.get(0);
                       pp = p0;
                       g.setColor(Color.BLACK);
                       for (int i = 1; i < points.size(); i++) {
                           Point p = points.get(i);
                           g.drawLine(pp.x, pp.y, p.x, p.y);
                           pp = p;
                       }
                       g.drawLine(pp.x, pp.y, p0.x, p0.y);
                   }
               }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public class CircleMouseListener extends MouseAdapter {
     
                   @Override
                   public void mousePressed(MouseEvent event) {
     
                           points.add(event.getPoint());
                           PaintPanel.this.repaint();
     
                   }
               }            
           }

  2. #2
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    juin 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : Djibouti

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juin 2020
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    je sais comment dessiner un point avec la souris mais je veux que en touchant sur mon bouttons dessiner et que je clique sur mon jpanel un point apparait ainsi de suite puis lorsque je touche mon buttons draw lines je veux qu'en cliquant sur mes deux points une apres l'autre je voudrais qu'une ligne se dessine entre les deux points
    s'ils vous plait aidez je suis en galere j'arrive pas a dessiner les points en touchant le buttons dessiner !!!!

Discussions similaires

  1. Dessiner des lignes avec wz_jsgraphics
    Par derzy971 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 20/04/2010, 16h01
  2. Probleme en dessinant des lignes a la souris
    Par smile10 dans le forum Débuter
    Réponses: 3
    Dernier message: 29/03/2010, 17h26
  3. [DBGRID][FAQ] Dessiner des lignes de couleur
    Par okparanoid dans le forum Bases de données
    Réponses: 5
    Dernier message: 11/10/2005, 18h10
  4. dessiner des lignes "cliquables"
    Par r0d dans le forum Webdesign & Ergonomie
    Réponses: 14
    Dernier message: 21/03/2005, 16h02

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