[Image]Dessiner une ligne en dynamique
Bonjour,
Voici mon problème j'ai crée une petite classe qui devrait me permettre de créer une ligne dans un JPanel de manière dynamique. L'utilisateur clique sur la souris et fais un glisser jusqu'au point final de la ligne. Je souhaite que la ligne s'affiche de maniere permanente même si l'utilisateur n'à pas finaliser la ligne.
voici mon code :
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
| package Dessin;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class CLigne
extends JPanel
implements MouseMotionListener {
public CLigne() {
CCadrePrincipale.jPanel1.addMouseMotionListener(this);
}
public void mouseMoved(MouseEvent e) {}
private int x0 = 3000;
private int y0 = 3000;
private int x = 0;
private int y = 0;
public void mouseDragged(MouseEvent e) {
x = e.getX() ;
y = e.getY() ;
if (x0 == 3000 && y0==3000)
{
x0 = e.getX() ;
y0 = e.getY() ;
}
repaint();
}
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawLine(x0, y0, x, y);
}
} |
Je sais que la méthode pour dessiner la ligne n'est pas du tous optimisé mais ce n'est pas grave pour mon application. Le probleme est que je ne vois rien s'afficher quand je dessine, cela vient je pense de ma méthode paintComponent car les coordonnées (x0,y0,x,y) sont stockées correctement.
merci
[Modéré par Didier]
Ajout de tag dans le titre
Lire les règles du forum : Règles du forum Java