tracer un trait entre deux points
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 :
Code:
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);
}
} |
Celui pour tracer un trait :
Code:
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);
}
} |
Merci d'avance pour votre aide cordialement takepaf