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 :

pb gestion focus + clique bouton


Sujet :

AWT/Swing Java

  1. #1
    Candidat au Club
    Inscrit en
    Octobre 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Octobre 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut pb gestion focus + clique bouton
    Bonjour à tous !

    J'espère vraiment que quelqu'un pourra m'aider.


    Voici mon souci :

    Pour résumer : j'ai trois JTextfield et ensuite un JButton.
    Quand je quitte une des trois zones saisissables ( perte du focus ), ça doit exécuter une fonction (F1).
    Et quand je clique sur le bouton, ça doit exécuter une autre fonction (F2).

    Le hic, c'est que quand je clique sur mon bouton, j'ai perdu le focus de mes zones et donc ça me fait la première fonction (F1) au lieu de la deuxième fonction (F2). Ce à quoi de la méthode focusGained() qui est sur mon bouton.

    Par contre, il faut bien que ça lance la première fonction si le focus est sur le bouton ( Par exemple déplacement avec Tabulation ), mais pas si on a cliqué sur le bouton.


    J'espère avoir été assez claire...

    Si ça inspire qqn, je me suis assez arrachée les cheveux dessus !

    Merci à tous pour votre aide.



    Stéphanie.

  2. #2
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    Problème d'utilisation des écouteurs?

    Sans code, on pourra pas faire mieux. Essaie de donner un extrait

  3. #3
    Candidat au Club
    Inscrit en
    Octobre 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Octobre 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    En gros, il s'agit d'une recherche de Localité.
    Si on quitte une des zones Pays, CP, ville, ça doit enclencher une liste avec uniquement ce qu'il y a dans les champs.
    Par contre, si on demande la liste des localités en ayant cliqué sur le bouton, ça affiche la liste des localités à partir de ce qu'il y a dans les champs.
    Et quand on clique sur le bouton, on a perdu le focus, il m'affiche donc la liste restreinte au lieu de la liste complète.


    Voici les zones concernées :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
    private FLAff1 flaff1;
    private KL4PfKey kl4ac;
     
    CB_DELCNT = new JComboBox();
    T_DELZIP = new JTFAlpha(SIZE_OF_DELZIP,true);
    T_DELCTY = new JTFAlpha(SIZE_OF_DELCTY,true);
    B_RECH_LOC_DEL = new JButton(new ImageIcon(getClass().getResource("/image/Loupe.gif")));
     
    FLDelLoc fldl = new FLDelLoc(this);
     
    CB_DELCNT.addFocusListener(fldl);
    CB_DELCNT.addKeyListener(kl4ac);
    T_DELZIP.addFocusListener(fldl);
    T_DELZIP.addKeyListener(kl4ac);
    T_DELCTY.addFocusListener(fldl);
    T_DELCTY.addKeyListener(kl4ac);
    B_RECH_LOC_DEL.addActionListener(new BMAff1(this, BMAff1.RECH_LOC_DEL));
    B_RECH_LOC_DEL.addFocusListener(flaff1);
    B_RECH_LOC_DEL.addKeyListener(kl4ac);
    Voici les FocusListeners :
     
    public class FLAff1 extends FL4AllComponent
    {    
     
         public FLAff1(JPanelDefault parent)
        {    super(parent);        }
     
        public void focusGained(FocusEvent e)
        {
            super.focusGained(e);
     
            if(((JPAff1)parent).getRechLocDelAuto())
                ((JPAff1)parent).rechLocDel(' ');
        }
     
        public void focusLost(FocusEvent e)
        {    super.focusLost(e);        }
     
        public void actionAuto()
        {        }
    }
     
    public class FLDelLoc extends FL4AllComponent
    {    
     
         public FLDelLoc(JPanelDefault parent)
        {    super(parent);        }
     
        public void focusGained(FocusEvent e)
        {
            super.focusGained(e);
        }
     
        public void focusLost(FocusEvent e)
        {    super.focusLost(e);        }
     
        public void actionAuto()
        {    ((JPAff1)parent).setRechLocDelAuto(true);    }
    }

  4. #4
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    Hum...difficile à dire (on n'a pas le code des superclasses)...

    Essaie de mettre des System.out.println dans tes écouteurs (ça permettra de mieux se rendre compte du flux d'exécution)

    Et aussi, sur les boutons, mieux vaut utiliser des ActionListener plutôt que des focus listener.

    Avec 1 actionlistener + 3 focuslistener qui font le traitement dans "focusLost" ça devrait le faire

Discussions similaires

  1. Réponses: 4
    Dernier message: 22/03/2012, 11h30
  2. Gestion son click bouton
    Par delavega dans le forum Flash
    Réponses: 1
    Dernier message: 22/02/2007, 10h25
  3. Réponses: 7
    Dernier message: 30/05/2006, 11h00
  4. choisir le focus du bouton dans une MessageBox?
    Par sher56 dans le forum C++Builder
    Réponses: 2
    Dernier message: 29/10/2005, 00h30
  5. [Tbutton] Interdire le focus à un bouton
    Par Manopower dans le forum Composants VCL
    Réponses: 4
    Dernier message: 27/07/2005, 10h28

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