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 : 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
 
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