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

Composants Java Discussion :

JTextField et souris


Sujet :

Composants Java

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Septembre 2010
    Messages : 21
    Points : 10
    Points
    10
    Par défaut JTextField et souris
    Bonjour !

    Je suis en train de développer un Look and Feel et j'aurais besoin de faire que lorsqu'on est en édition sur un JTextField, elle soit "attrapée" par ce composant. C'est-à-dire : tant qu'on appuie pas sur echap ou enter, la souris ne puisse pas bouger hors du composant.

    J'ai essayé de faire ça en utilisant le Robot pour la souris (mouseMove) pour repositionner la souris sur le composant et les méthodes mouseExited (MouseListener) et mouseMoved (MouseMotionListener). Ca marche sauf si on déplace la souris très vite, là elle arrive à sortir du composant et, même avec le MouseExited, on perd le focus sur le composant JTextField.

    Auriez-vous une idée pour le faire ? Corriger ce problème?
    Merci !!

  2. #2
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Je n'appellerais pas ça un Look & Feel, mais plutôt un "Look, I've made the user insane"...
    Mais bon...

    En fait, il n'est guère de moyen de faire ça de façon non débilitante (éventuellement un FocusListener sur le champ qui fait un requestFocus() sur le focusLost()).

    Je recommande, si un champ est obligatoire de plutôt lui appliquer un indice visuel tant qu'il n'est pas correctement rempli, et ne donne pas la possibilité à l'utilisateur d'avancer tant que ses données n'ont pas été remplies de façon correcte.
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  3. #3
    Membre à l'essai
    Inscrit en
    Septembre 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Septembre 2010
    Messages : 21
    Points : 10
    Points
    10
    Par défaut
    C'est une demande qui est faite d'avoir ce comportement là.

    Ce que j'ai fait "marche" sauf vraiment dans le cas où on bouge la souris trop vite.
    Je ne sais pas s'il y a un moyen de "figer" la souris ?

  4. #4
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    As tu essayé avec le focusListener?
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  5. #5
    Membre à l'essai
    Inscrit en
    Septembre 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Septembre 2010
    Messages : 21
    Points : 10
    Points
    10
    Par défaut
    oui, j'ai mis ce code dans mon implémentation du focusListener

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     public void focusLost(FocusEvent e)
      {
        ((JTextField)e.getSource()).requestFocus();
      }
    mais ça ne fonctionne toujours pas entièrement.

  6. #6
    Membre à l'essai
    Inscrit en
    Septembre 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Septembre 2010
    Messages : 21
    Points : 10
    Points
    10
    Par défaut
    Donc pas d'autres idées ?

Discussions similaires

  1. Rendre un JTextField "transparant" pour la souris
    Par fraeez dans le forum Composants
    Réponses: 0
    Dernier message: 17/03/2012, 13h37
  2. [JTextField] Les evenements souris
    Par opensource dans le forum Composants
    Réponses: 9
    Dernier message: 27/02/2008, 17h35
  3. Trouver le composant sous la souris...
    Par BestofMac dans le forum Composants VCL
    Réponses: 2
    Dernier message: 17/07/2002, 02h46
  4. Comment masquer le curseur de la souris ?
    Par benj63 dans le forum C++Builder
    Réponses: 4
    Dernier message: 26/06/2002, 18h54
  5. FOnction api specifiant la position de la souris
    Par florent dans le forum C++Builder
    Réponses: 4
    Dernier message: 15/05/2002, 20h07

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