Bonjour à tous,
Je me pose une petite question à propos des évènements liés à la souris.
Tout d'abord, j'ai une classe Ovale qui hérite de JPanel, et possède une méthode paintComponent :
J'aimerais savoir si on peut, dans un mouseMoved par exemple, déterminer si le curseur de la souris est sur la figure dessinée, et non pas seulement sur le JPanel.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 protected void paintComponent(Graphics g) { g.setColor(couleur); if (plein) g.fillOval(0, 0, largeur, hauteur); else g.drawOval(0, 0, largeur, hauteur); setLocation(xRef, yRef); }
Voici un exemple :
* Sur ce schéma j'ai représenté le contentPane de la JFrame en vert
* En jaune c'est mon objet Ovale, c'est-à-dire un JPanel
* En rouge c'est la figure dessinée par la méthode paintComponent
J'aimerais donc savor quand le curseur est dans la zone rouge (et seulement dans la zone rouge !).
Voici le code actuel du listener :
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Ovale o = new Ovale(100, 100, 50, 50, Color.RED, true); o.addMouseMotionListener(new MouseMotionListener() { public void mouseDragged(MouseEvent e) { } public void mouseMoved(MouseEvent e) { System.out.println("Moved on rouge : " + e.getX() + ":" + e.getY()); } }); [...]
Partager