Creation et destruction de figures
Salut
Je veux faire une petit application qui va afficher des circles et avec la souris on va les eliminer.J'ai presque reussi.Mais il y a un probleme.Voila la classe Circle que j'ai ecris.
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 47 48 49 50 51 52 53 54 55 56 57 58 59
|
package circles;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.geom.Ellipse2D;
import javax.swing.JComponent;
public class Circle extends JComponent implements MouseListener {
private Ellipse2D.Float circle = null;
private int x;
private int y;
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
public Circle() {
super();
circle = new Ellipse2D.Float();
}
public void mouseClicked(MouseEvent e) {
setVisible(false);
}
public void mousePressed(MouseEvent e) {
}
public void mouseReleased(MouseEvent e) {
}
public void mouseEntered(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
public void paintComponents(Graphics g) {
super.paintComponents(g);
circle = new Ellipse2D.Float(x,y,20,20);
Graphics2D g2d = (Graphics2D)g.create();
g2d.setColor(new Color(0,0xff,0xff));
g2d.fill(circle);
g2d.draw(circle);
}
} |
Le probleme c'est que quand je clique sur un circle c'est le JPanel ou j'ai mis mes circles qui capte les clicks et on ne fait pas l'appel a la methode public void mouseClicked(MouseEvent e){...} de la classe Circle mais a celle de JPanel :(
Est-ce qu'il y a quelqu'un qui peut me dire comment contourner ce probleme ?
Merci d'avance