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

Agents de placement/Fenêtres Java Discussion :

Pourquoi le MouseMotionListener ne fonctionne pas sous mode BorderLayout?


Sujet :

Agents de placement/Fenêtres Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Doubs (Franche Comté)

    Informations forums :
    Inscription : Mars 2007
    Messages : 15
    Points : 11
    Points
    11
    Par défaut Pourquoi le MouseMotionListener ne fonctionne pas sous mode BorderLayout?
    Bonjour le monde,

    J'ai écrit un programme qui teste l'interface MouseMotionListener, quand j'écrits directement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    addMouseMotionListener(this);
    Et dans les méthodes mouseDragged(MouseEvent me) et mouseMoved(MouseEvent me), je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println("Mouse has been dragged ou moved.")
    Mais ça a pas fonctionné, mais si je mets la fenêtre sous mode FlowLayout, ça marche.

    Est-ce que c'est normal? merci

  2. #2
    Membre émérite
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Points : 2 410
    Points
    2 410
    Par défaut
    Bonjour,

    Lorsque la souris est au-dessus d'un composant, le MouseMotionEvent est envoyé à ce composant là, et pas au JPanel qui le contient.

    Dans le cas d'un BorderLayout, toute la place du JPanel est occupée par les composants à l'intérieur de celui-ci, donc il ne peut pas recevoir de MouseMotionEvents (sauf si il a une Border). Dans le cas d'un FlowLayout, certaines zones du JPanel sont visibles, les composants ne le recouvrent pas totalement. Il peut donc à certains endroits recevoir des MouseMotionEvents.

    Ca explique ce que tu vois ?
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Doubs (Franche Comté)

    Informations forums :
    Inscription : Mars 2007
    Messages : 15
    Points : 11
    Points
    11
    Par défaut
    Merci...

    ça explique très bien ma question !

    J'ai affecté le MouseMotionListener à ma fenêtre, sous mode BorderLayout, toute la place de ma fenêtre est occupée par le JPanel qui contient le bouton.

    C'est pour ça la fenêtre ne peut pas détecter le mouvement de ma souris.

  4. #4
    Membre émérite
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Points : 2 410
    Points
    2 410
    Par défaut
    Un petit clic sur ?
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

Discussions similaires

  1. Réponses: 3
    Dernier message: 28/03/2011, 16h54
  2. Le mode DEBUG ne fonctionne pas sous VS2005
    Par micher dans le forum Visual Studio
    Réponses: 3
    Dernier message: 17/02/2010, 15h31
  3. pourquoi ce batch ne fonctionne pas sous le dos Reel
    Par phil59110 dans le forum Scripts/Batch
    Réponses: 10
    Dernier message: 28/06/2009, 17h20
  4. Mode débug qui ne fonctionne pas sous VS2008
    Par lirakien dans le forum Général Dotnet
    Réponses: 0
    Dernier message: 23/04/2009, 09h28
  5. Réponses: 3
    Dernier message: 06/06/2007, 18h45

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