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 :

Détecter un clic en dehors du JComponent


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Mai 2004
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 7
    Par défaut Détecter un clic en dehors du JComponent
    Bonjour,

    Je suis en train de développer un composant qui hérite de JComponent qui permet de faire un saisie et d'afficher des propositions...

    Je voudrais enlever la sélection du texte lorsque l'on clique à l'extérieur du composant. Quelqu'un aurait-il une solution?

    Merci

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

    regarde du côté des FocusListener. La fonction qui t'intéresse m'a l'air d'être focusLost.
    "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 du Club
    Inscrit en
    Mai 2004
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 7
    Par défaut
    Ma classe implémente déjà FocusListener, mais on ne perd pas le focus lorsqu'on clique en dehors d'un composant, car le focus doit être sur un composant et non pas sur un conteneur de composant genre Panel. J'ai cherché pendant une heure ce matin notamment en regardant le code de JComboBox mais j'ai pas trouvé.

    Merci quand meme pour ta réponse

  4. #4
    Membre Expert
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Par défaut
    Dans ce cas, tu peux implémenter un HierarchyListener (ou un HierarchyBoundsListener, je ne les utilise pas trop donc je ne sais pas) pour détecter un ajout de composant à l'intérieur de ton conteneur.

    Ca te permettra de mettre un FocusListener dans tous les composants enfants de ton conteneur. Il faudra vérifier dans le focusLost que ce n'est pas un autre composant enfant qui a pris le focus, et le tour est joué.
    "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.

  5. #5
    Membre du Club
    Inscrit en
    Mai 2004
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 7
    Par défaut
    En fait, je veux que lorsque l'on clique à l'intérieur du conteneur mais dans aucun composant, mon texte ne soit plus séléctionné et je cache ma popup, mais ce type de clic ne fait perdre le focus à personne, pas même mon composant (ni pour les autres composants swing), je pense parce que certains composants peuvent spécifier qu'ils ne veulent pas de focus, quand ils n'ont pas besoin d'entrée clavier.

    EDIT : Finalement, je vais pas supprimer la sélection, mais je veux toujours cacher la popup ^^

    EDIT2 : En fait ta solution consisterait à savoir si le focus à été pris dans un composant de mon conteneur ou d'un autre conteneur.

  6. #6
    Membre Expert
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Par défaut
    Alors ça fait longtemps que je n'ai pas utilisé de JPopupMenu, mais il me semble que lorsque tu cliques à côté, il disparaît. Tu peux donc écouter ton JPopupMenu pour savoir si il faut désélectionner ton texte ?

    Si c'est encore à côté de la plaque, tu pourrais décrire un peu plus en détail ce que fait ton composant (avec screenshots éventuellement) ? Ca me permettrait de savoir un peu mieux ce que tu veux faire.
    "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.

  7. #7
    Membre du Club
    Inscrit en
    Mai 2004
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 7
    Par défaut
    Ouais, désolé, en fait, je savais pas que le popup partirait automatiquement lorsque l'on clique à côté, j'aurais du tester le composant avant de poster.

    Merci pour ton aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Détecter un clic de souris
    Par illioc dans le forum Delphi
    Réponses: 17
    Dernier message: 12/02/2007, 00h59
  2. Détecter les clics sur un lien
    Par morgan47 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/11/2006, 19h55
  3. Détecter un clic hors de mon programme
    Par daladim dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 12/11/2005, 17h08
  4. Détecter le clic d'une souris sur un webbrowser
    Par sroz dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 06/10/2005, 08h33
  5. Réponses: 8
    Dernier message: 14/03/2005, 21h43

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