Java: Evenement souris

Résolu/Fermé
piros57 Messages postés 66 Date d'inscription vendredi 9 septembre 2011 Statut Membre Dernière intervention 9 avril 2012 - 24 janv. 2012 à 19:21
piros57 Messages postés 66 Date d'inscription vendredi 9 septembre 2011 Statut Membre Dernière intervention 9 avril 2012 - 25 janv. 2012 à 12:13
Bonjour,
j'aimerai savoir comment gérer les événement de la souris
par ex :-obtenir sa position
-savoir quand on fait un clic avec la souris
merci d'avance

A voir également:

5 réponses

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
24 janv. 2012 à 20:57
Pour être plus clair je décompose en trois classes, mais on pourrait tout faire en une seule. À part ça je vois mal comment faire plus court ^^

Exemple.java

public class Exemple
{
    public static void main(String[] args) 
    {
        new Fenetre().setVisible(true);;
    }
}

Fenetre.java

import javax.swing.JFrame;

public class Fenetre extends JFrame
{
    private static final long serialVersionUID = 1;
    
    public Fenetre()
    {
        addMouseListener(new Evenement());
        setExtendedState(MAXIMIZED_BOTH);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}

Evenement.java

import java.awt.event.MouseListener;
import java.awt.event.MouseEvent;

public class Evenement implements MouseListener
{
    @Override
    public void mouseClicked(MouseEvent e) 
    {
        if (e.getButton()==MouseEvent.BUTTON3)
            System.out.printf("(x=%d,y=%d)",e.getX(),e.getY());
    }

    @Override
    public void mousePressed(MouseEvent e) {}

    @Override
    public void mouseReleased(MouseEvent e) {}

    @Override
    public void mouseEntered(MouseEvent e) {}

    @Override
    public void mouseExited(MouseEvent e) {}
}
4
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
24 janv. 2012 à 19:37
Il suffit de récupérer les MouseEvent sur un composant graphique (JFrame par exemple).
Petit code : How to use Mouse Events in Swing
0
piros57 Messages postés 66 Date d'inscription vendredi 9 septembre 2011 Statut Membre Dernière intervention 9 avril 2012 2
24 janv. 2012 à 19:46
Merci mais est ce que tu pourrait me mettre le minimum vital juste pour connaitre la position de la souris et savoir quand on clic =).
Merci
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
24 janv. 2012 à 20:20
En Java on ne clique pas sur une fenêtre, c'est la fenêtre qui est cliqué par la souris !
La différence est peut-être subtile mais cela signifie que tu dois d'abord créer une fenêtre qui t'informera au moment où la souris agit sur la fenêtre. Ce qui signifie que si tu cliques en dehors de la fenêtre tu ne pourras plus intercepter l'action de la souris.

Dans le petit code d'exemple que j'ai mis plus haut, c'est la fenêtre du haut qui intercepte les évènements de la souris, tu peux donc t'en inspirer au moins en partie. Quand on clic, la méthode mouseClicked est appelée avec en paramètre le MouseEvent dont on peut déduire les coordonnées grâce aux méthodes getX et getY, ou alors getXOnScreen et getYOnScreen selon ce que tu veux avoir.
0
piros57 Messages postés 66 Date d'inscription vendredi 9 septembre 2011 Statut Membre Dernière intervention 9 avril 2012 2
24 janv. 2012 à 20:22
Est ce que tu pourrai me faire un code rapide détaille qui ouvre une fenêtre et qui affiche la position de la souris lorsque l'ont fait un clic droit
0
piros57 Messages postés 66 Date d'inscription vendredi 9 septembre 2011 Statut Membre Dernière intervention 9 avril 2012 2
25 janv. 2012 à 12:09
Merci je test ça tout de suite
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
piros57 Messages postés 66 Date d'inscription vendredi 9 septembre 2011 Statut Membre Dernière intervention 9 avril 2012 2
Modifié par piros57 le 25/01/2012 à 12:13
Merci mille fois.
ça marche.
0