IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

Image et action listener ?


Sujet :

AWT/Swing Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 81
    Points : 37
    Points
    37
    Par défaut Image et action listener ?
    Bonjour,

    Je voudrais associer un listener (par ex: action listener) à une image que je dessine sur l'écran , est-ce possible ? si oui comment ?

    a7aa7a

  2. #2
    Membre expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Points : 3 919
    Points
    3 919
    Par défaut
    Salut,

    Quels sont les évènements que tu veux récupérer ? (j'ai oublié ma boule de cristal...)

    ++
    Gueritarish
    Pas de questions technique par MP, les forums sont là pour ça.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 81
    Points : 37
    Points
    37
    Par défaut
    un double-clic tout simplement !

  4. #4
    Membre expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Points : 3 919
    Points
    3 919
    Par défaut
    Salut,

    Alors, je suppose que tu dois mettre ton image dans un Panel ou autre, donc, il te suffit de mettre un MouseListener sur le Component qui contient ton image. Ensuite, il te suffit d'implémenter la méthode mouseClicked() (les autres méthodes aussi, mais elles ne te serviront pas du moins, pource que tu veux faire ^^).
    Dans cette méthode, tu peux récupérer un double-clic comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public void mouseClicked(MouseEvent e) {
        if(e.getClickCount() == 2) {
            System.out.println("Un double clic a été détecté !!!");
        }
    }
    Voilà, tu trouveras surement ton bonheur dans le tuto de Sun sur les MouseListeners
    ++
    Gueritarish
    Pas de questions technique par MP, les forums sont là pour ça.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 81
    Points : 37
    Points
    37
    Par défaut
    OK

    Merci beaucoup. !!

    Et comment faire pour un clic avec une (ou 2) touche en meme temps (exemple : [ctrl] ou encore [ctrl]+[alt])?
    Et un clic fait par la roulette de la souris ?
    Et un mouvement fait par la roulette centrale de la souris ?

    Voila ca fait beaucoup de questions en guise de cadeau de noel ; - )

    Mais déjà merci beaucoup pour la réponse.

    a7aa7a

  6. #6
    Membre expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Points : 3 919
    Points
    3 919
    Par défaut
    Citation Envoyé par a7aa7a
    Et comment faire pour un clic avec une (ou 2) touche en meme temps (exemple : [ctrl] ou encore [ctrl]+[alt])?
    Bon, pour pouvoir récupérer les évènements du clavier, il te faut ajouter un KeyListener Comment utiliser les KeyListener

    Citation Envoyé par a7aa7a
    Et un clic fait par la roulette de la souris ?
    Il va te falloir te pencher réellement sur la JavaDoc... parce que toutes les questions que tu me poses prennent 30 secondes à être résolu grâce à la JavaDoc...
    Pour gérer un clic fait par la roulette de la souris, il suffit de savoir gérer un clic fait par la souris... Sauf que les clics-molette sont considérés comme des clics fait par le bouton 3 de la souris!

    Citation Envoyé par a7aa7a
    Et un mouvement fait par la roulette centrale de la souris ?
    MouseWheelListener

    Voilà,
    N'hésite pas à abuser de la JavaDoc
    ++
    Gueritarish
    Pas de questions technique par MP, les forums sont là pour ça.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 81
    Points : 37
    Points
    37
    Par défaut
    Citation Envoyé par Gueritarish Voir le message
    Bon, pour pouvoir récupérer les évènements du clavier, il te faut ajouter un KeyListener Comment utiliser les KeyListener
    [...]
    N'hésite pas à abuser de la JavaDoc
    C'est vrai que je n'ai pas beaucoup regardé la javadoc mais je travaille sur un pc sans intenet...

    Mais comment puis-je mêler un KeyListener et un MouseListener ensembles vu qu'il me faut les 2 à la fois pour noter qu'il y a eu 1 clic + 3 touches appuyées ???

    a7aa7a

  8. #8
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 854
    Points
    22 854
    Billets dans le blog
    51
    Par défaut
    Citation Envoyé par a7aa7a Voir le message
    C'est vrai que je n'ai pas beaucoup regardé la javadoc mais je travaille sur un pc sans intenet...
    Dans ce cas, puisque tu as acces a Internet pour acceder au forum je te conseille fortement d'aller recupere le zip de la javadoc chez Sun (voir "Java SE 6 Documentation") et de la mettre, par exemple, sur un CD ou une cle USB pour la consulter plus rapidement. C'est bien plus rapide et pratique quand on l'a sous la main en local. De plus, certaines IDE, comme JBuilder, Eclipse ou autre l'incluent directement dans leur distribution et permettent de l'afficher quand par exemple on appuie sur F1 alors qu'on a selectionne le nom d'une classe ou d'une methode (la maniere de l'afficher varie suivant les IDE).
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  9. #9
    Membre expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Points : 3 919
    Points
    3 919
    Par défaut
    Citation Envoyé par a7aa7a Voir le message
    Mais comment puis-je mêler un KeyListener et un MouseListener ensembles vu qu'il me faut les 2 à la fois pour noter qu'il y a eu 1 clic + 3 touches appuyées ???
    Alors, une chose qu'il te faut savoir, c'est que tu peux mettre plein de Listener différents sur un Component. Pourquoi ça? Pour une bonne et simple raison qu'un Listener sert à écouter les évènements. Donc, c'est pas parce que tu mets un MouseListener que les autres évènements ne fonctionnent plus... Ils seront toujours envoyés. Par contre, ils ne seront récupérés que si tu mets le Listener correspondant aux évènements que tu souhaites récupérer.

    Là, il te faut prévoir une méthode à implémenter pour gérer les appuis sur les touches en même temps que le clic souris (compteur, ...).

    Voilà, bon courage,
    ++

    Gueritarish
    Pas de questions technique par MP, les forums sont là pour ça.

  10. #10
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 854
    Points
    22 854
    Billets dans le blog
    51
    Par défaut
    La methode getModifiersEx() de la classe InputEvent (classe mere de MouseEvent) devrait permettre de detecter si les touches ALT, CTRL, etc.. sont actives pendant le clic. Un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    int modifiers = e.getModifiersEx() ;
    boolean button_1  = ((modifiers  & InputEvent.BUTTON1_DOWN_MASK) == InputEvent.BUTTON1_DOWN_MASK);
    boolean alt  = ((modifiers & InputEvent.ALT_DOWN_MASK) == InputEvent.ALT_DOWN_MASK);
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  11. #11
    Membre expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Points : 3 919
    Points
    3 919
    Par défaut
    Citation Envoyé par bouye Voir le message
    La methode getModifiersEx() de la classe InputEvent (classe mere de MouseEvent) devrait permettre de detecter si les touches ALT, CTRL, etc.. sont actives pendant le clic. Un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    int modifiers = e.getModifiersEx() ;
    boolean button_1  = ((modifiers  & InputEvent.BUTTON1_DOWN_MASK) == InputEvent.BUTTON1_DOWN_MASK);
    boolean alt  = ((modifiers & InputEvent.ALT_DOWN_MASK) == InputEvent.ALT_DOWN_MASK);
    Je dois dire que j'avais pas fait attention à cette méthode... Merci du tuyau en tout cas ^^
    Pas de questions technique par MP, les forums sont là pour ça.

Discussions similaires

  1. architecture M-V-C et Action Listener
    Par totoche dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 04/12/2007, 13h56
  2. html:image et action
    Par fatenatwork dans le forum Struts 1
    Réponses: 3
    Dernier message: 18/09/2007, 09h39
  3. Plusieurs action listener
    Par Katachana dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 11/07/2007, 09h25
  4. Action listener pour un item de comboBox ?
    Par poulette3000 dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 15/05/2007, 14h03
  5. Réponses: 4
    Dernier message: 17/04/2007, 00h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo