Bonjour à tous,
Je suis entrain de crée un programme qui permet de sélectionner des points de coordonnées et une fois 2 points rentrée, je voudrais tracer un trait entre les deux.
J'arrive à récupérer les coordonnées x, y des points, à tracer une ligne en lui fournissant des valeurs, mais je n'arrive pas a tracer un trait entre les deux points dont je récupérer les coordonnées.
Voilà mon code pour récuperer les coordonnées des points :
Celui pour tracer un trait :
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 package finale; import javax.swing.*; import java.awt.*; import java.awt.event.*; class MaFenetre extends JFrame{ private JPanel pan; private int horizontal,vertical; MaFenetre(){ //constructeur setTitle("Gestion de clics"); setSize(300,150); pan =new JPanel(); getContentPane().add(pan); pan.addMouseListener(new EcouteClic(pan)); // La fenetre sera son propre écouteur d'évenement de la souris } class EcouteClic extends MouseAdapter{ private JPanel pan; private int nbpoint =100; private int i=0; public EcouteClic(JPanel pan){ this.pan = pan; } public void mouseClicked (MouseEvent e){ int [] tabx = new int[nbpoint]; int [] taby = new int[nbpoint]; tabx [i]= e.getX(); taby [i] = e.getY(); System.out.println("coordonnées"+e.getX()+","+e.getY()); Graphics g = pan.getGraphics(); g.drawOval(e.getX(),e.getY(), 5, 5); g.dispose(); } } } public class clicsouris { public static void main(String[] args) { MaFenetre fen = new MaFenetre(); fen.setVisible(true); } }
Merci d'avance pour votre aide cordialement takepaf
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 package finale; import javax.swing.*; import java.awt.*; class Mafenetre extends JFrame{ private JPanel pan; Mafenetre(){ setTitle("Essai Dessin"); setSize(300,150); pan = new Paneau(); getContentPane().add(pan); pan.setBackground(Color.CYAN); //couleur de fond cyan } } class Paneau extends JPanel{ public void paintComponent (Graphics g){ super.paintComponent(g); g.drawLine(15, 10, 100, 50); } } public class PremDes { public static void main(String[] args) { Mafenetre fen = new Mafenetre(); fen.setVisible(true); } }
Partager