Utiliser un mouseClicked() dans un JPanel
Fermé
kabrice01
Messages postés
1179
Date d'inscription
dimanche 21 décembre 2008
Statut
Membre
Dernière intervention
12 avril 2021
-
Modifié par kabrice01 le 27/05/2015 à 07:34
ElexXVII - 12 sept. 2015 à 12:38
ElexXVII - 12 sept. 2015 à 12:38
A voir également:
- Mouseclicked java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
- Java décompiler - Télécharger - Langages
2 réponses
nephou
Messages postés
213
Date d'inscription
jeudi 28 mai 2015
Statut
Membre
Dernière intervention
3 juillet 2015
22
28 mai 2015 à 12:18
28 mai 2015 à 12:18
Bonjour,
Est-tu sûr que les autres ne fonctionnent pas ? Que font ces méthodes ?
As-tu pensais à rafraîchir ton affichage ?
Est-tu sûr que les autres ne fonctionnent pas ? Que font ces méthodes ?
As-tu pensais à rafraîchir ton affichage ?
Bonjour,
Tu peux utiliser ces éléments depuis ta classe "Fenêtre" puis envoyer les positions x et y a ton Panneau, pour l'affichage :
Classe Fenêtre :
Panel :
PS : Les positions x et y pour l'affichage avec ton JPanel ne sont pas exactement les mêmes que celle recueilli via MousListener, il y'a qque pixel de décalage ( tu peux mettre :
En espérant t'avoir aider !
Tu peux utiliser ces éléments depuis ta classe "Fenêtre" puis envoyer les positions x et y a ton Panneau, pour l'affichage :
Classe Fenêtre :
import java.awt.event.*; import javax.swing.*; public class Frame extends JFrame implements MouseListener //tu implémente MouseListener dans ta JFrame { Panel pan = new Panel(); { this.setTitle("Test"); this.setSize(800, 500); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.addMouseListener(this); this.setContentPane(pan); this.setVisible(true); pan.repaint(); } public void mouseReleased(MouseEvent e) {} public void mouseClicked(MouseEvent e) {} public void mouseEntered(MouseEvent e) {} public void mouseExited(MouseEvent e) {} public void mousePressed(MouseEvent e) //Lorsque tu clique avec ta souris, le code suivant est executé { System.out.println("Pressed" + e.getX() + " - " + e.getY()); pan.setX(e.getX()); pan.setY(e.getY());//on appelle les méthodes setX et setY de ton Panel en leur envoyer les positions de la souris } }
Panel :
import java.awt.*; import javax.swing.*; public class Panel extends JPanel { int x = 0; int y = 0;//on déclare les variables x et y public void paintComponent(Graphics g) { // Affichage : g.fillOval(x, y, 10, 10); } public void setX(int pX) { x = pX; this.repaint(); } public void setY(int pY) { y = pY; this.repaint(); } }
PS : Les positions x et y pour l'affichage avec ton JPanel ne sont pas exactement les mêmes que celle recueilli via MousListener, il y'a qque pixel de décalage ( tu peux mettre :
g.fillOval(x-15, y-40, 10, 10);pour régler le probleme ;).
En espérant t'avoir aider !
7 sept. 2015 à 17:16