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 :

FocusListener sur JPanel et son contenu


Sujet :

AWT/Swing Java

  1. #1
    Invité
    Invité(e)
    Par défaut FocusListener sur JPanel et son contenu
    Bonjour,

    Dans un Box j'ajoute des JPanels 'Ligne' dans lesquels se trouvent de JComboBox, et JtextField.

    Je voudrais déclencher une action lorsque le focus saute d'une 'Ligne' à l'autre ..

    Existe t'il une sorte de Panel&ComponentsFocusListener ?

    Comment faire ?
    Dernière modification par Invité ; 11/05/2006 à 09h18.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Personne n'a d'idée ?

    En réalité, j'ai un ensemble de JComboBox et de JtexftField. sur chaque JPanel 'Ligne'.
    Mon but est de vérifier que les données sont correctes une fois que je passe sur une autre 'Ligne'.
    Je ne peux pas vérifier un élément à la fois car certains dépendent de ce qui à été mis dans un autre..

  3. #3
    Membre confirmé Avatar de zoullou
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 130
    Par défaut
    Je ne vois pas trop a quoi ressemble ton appli. Enfin tu peut récuperer un evenement je croit lorsque ton composant perd le focus.

    A+

  4. #4
    Invité
    Invité(e)
    Par défaut
    Oui j'ai un FocusListener() sur les JComboBox et JtextField mais ça ne suffit pas.
    Les Components sont placés dans un JPanel appelé 'Ligne'. j'ai plusieurs des ces 'Ligne's dans mon application.
    Et je veux valider les valeurs de ces champs lorsque je quitte une 'Ligne'.

  5. #5
    Membre confirmé Avatar de zoullou
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 130
    Par défaut
    Donne une capture d'écran car là je ne vois pas du tout a quoi ça ressemble

  6. #6
    Invité
    Invité(e)
    Par défaut
    Ok, voilà.



    Ici j'ai déja 3 lignes, elles commencent toute par un "C" blanc sur fond noir.
    Et donc en cliquant sur "Medi", ou "A/PS" ou "A/O" j'ajoute une nouvelle ligne.
    Mon but est de lancer une méthode validate() de ma composition lorsque le focus n'est plus sur la même ligne.

    explications :
    1° Je créer une nouvelle ligne en cliquant sur "Medi".
    La ligne est ajoutée et le focus placé sur la premier combobox de ma ligne.
    2° Je sélectionne et entre les valeurs qu'il faut.
    3° Je veux rajouter une ligne ou en modifier une autre.
    Avant de faire quoi que ce soit d'autre, la ligen sur laquelle j'étais doit avoir appelé validate()

  7. #7
    Membre confirmé Avatar de zoullou
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 130
    Par défaut
    Ok.
    Je pense que tes elements graphiques sont référencés dans ton programmes en étants regroupés par ligne.
    A ce moment là, lorsqu'un de tes composant perd le focus, tu n'a qu'a regarder sur c'est un element de la meme ligne qui le gagne et si ce n'est pas le cas, tu valide la ligne.

    A+

  8. #8
    Invité
    Invité(e)
    Par défaut
    Oui, c'est ce que je fesait.
    Ca fonctionne lorsque je passe d'une ligne à l'autre (car l'autre ligne à un numéro) mais pas lorsque le focus se retrouve sur un composant qui n'est pas dans une ligne (btn 'Medi' par exemple) car eux n'ont pas de numéro de ligne...

  9. #9
    Membre confirmé Avatar de zoullou
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 130
    Par défaut
    Et bien tu n'a qu'a juste regarder lorsque tu perd le focus si c'est un composant de la meme ligne qu'il l'a. Si ce n'est pas la cas, tu valide.

  10. #10
    Invité
    Invité(e)
    Par défaut
    Et il y à un moyen de trouver l'objet qui à le focus ?

  11. #11
    Membre confirmé Avatar de zoullou
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 130
    Par défaut
    Lorsque l'un de tes composant de la ligne perd le focus tu n'a qu'a regarder si les autres composant de la meme ligne l'on recupéré via la methode isFocusOwner() de Component.

    A+

  12. #12
    Invité
    Invité(e)
    Par défaut
    Ok, merci beaucoup.
    Je dirais si ça à été ou pas..

Discussions similaires

  1. Pointer sur une cellule et non son contenu
    Par MiXinG dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 30/04/2009, 12h04
  2. pb repaint sur JPanel contenu dans un JScrollPane
    Par pcouas dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 12/03/2009, 12h27
  3. Adapter la taille d'un JPanel en fonction de son contenu
    Par SeaShell dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 20/04/2008, 22h49
  4. Réponses: 11
    Dernier message: 08/08/2006, 23h11
  5. Réponses: 7
    Dernier message: 13/04/2006, 11h56

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