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 :

Communication entre JFrame et JDialog par Listeners


Sujet :

Agents de placement/Fenêtres Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 99
    Points : 66
    Points
    66
    Par défaut Communication entre JFrame et JDialog par Listeners
    Bonjour,

    Dans le cadre de la réalisation d’un logiciel à partir de composants swing, j’ai une question concernant les Listeners.

    Mon application principale est contenue dans une JFrame, qui contient un JButton.

    Cette JFrame appelle des JDialog ou d'autres JFrame (Il peut donc y en avoir plusieurs ouvertes, dans un cas de boîtes de dialogues imbriquées par exemple), et chacune de ces boites de dialogue contient un champ de texte.

    J'aimerais savoir comment, en cliquant sur le bouton de l'application principale, on peut communiquer avec ces champs de textes (en écrivant par exemple automatiquement "bonjour" dans celui de la boîte de dialogue active (au sens de « qui a le focus ») lors du clic sur ce bouton). La question porte entre autre sur la manière de récupérer la dernière fenêtre active pour appliquer l'effet du JButton. Et d'autre part, sur la méthode propre à mettre en oeuvre : faut-il utiliser un Listener ? Et dans ce cas, comment le mettre en place (car les boites de dialogues ne connaissent pas le bouton a priori...) ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    JFrame fenêtrePrincipale;
    fenêtrePrincipale.add(monBouton);
     
    JDialogueFrame fenêtreDialogue1;
    fenêtreDialogue1.add(champDeTexte1);
     
    JDialogueFrame fenêtreDialogue2; 
    fenêtreDialogue2.add(champDeTexte2);
    Je vous remercie par avance pour toutes vos pistes de réponses !

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 073
    Points : 7 978
    Points
    7 978
    Par défaut
    Un truc qui me semble bizarre .... tu vx cliquer sur un bouton contenu dans ta JFrame principale alors qu'un JDialog (bloquant je suppose) est affiché ? Impossible...

    Sinon, en imaginant que tu as un JDialog non bloquant ou une jframe, il te suffit de recuperer la variable qui point vers la fenetre fille, de recuperer la valeur de son textfield lors de l'appuye sur le bouton principal.

    Mais j'ai peut être compris de travers...
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 99
    Points : 66
    Points
    66
    Par défaut
    Merci pour ta réponse wax78. Je vais essayer d'éclaircir un peu.

    Mes JFrame filles ne sont en effet pas bloquantes, et il peut y en avoir plusieurs instances ouvertes en même temps. Tout le problème consiste en fait à détecter la fenêtre active avant l’appuie sur le bouton, puisque lors de l’appuie sur celui-ci dans la JFrame principale, on perd immédiatement l’accès à la dernière fenêtre sélectionnée et on ne sait plus à quelle instance appliquer l’effet du bouton.
    Donc je recherche une méthode pour faire cela, et à savoir comment l’implémenter proprement.
    Merci !

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 99
    Points : 66
    Points
    66
    Par défaut
    Personne n'a une idée ?

    L'objectif est de réaliser un système de copier/coller personnalisé entre mes boites de dialogues/JFrame, mais lorsque je clique sur le bouton "copier" qui est dans la fenêtre principale, je ne sais plus à quel boite de dialogue appliquer l'effet du copier.
    Je recherche donc la méthode pour pouvoir faire ça.
    Merci d'avance pour toutes vos pistes de réponse.

  5. #5
    Membre éclairé Avatar de Heimdal
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 549
    Points : 718
    Points
    718
    Par défaut
    Cela me semble être un principe ergonomique assez douteux mais je suppose qu'en ajoutant un WindowFocusListener à tes frames tu auras l'info que tu cherches.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 99
    Points : 66
    Points
    66
    Par défaut
    D'accord, je te remercie.

    Mais du coup, cela implique de créer une variable (static ?) qui identifie la fenêtre à chaque fois qu'elle récupère le focus ? Puis d'utiliser cette variable pour appliquer l'effet du clic sur le bouton... ?
    J'essaye justement de trouver comment coder tout ça proprement (Interface ? Listener ?).
    Si quelqu'un voit à peu près clair sur la manière d'organiser les classes, je veux bien quelques conseils. Merci.

Discussions similaires

  1. Communication entres deux automates scheinder par wifi
    Par Gk_44 dans le forum Automation
    Réponses: 13
    Dernier message: 08/06/2015, 12h15
  2. Réponses: 2
    Dernier message: 18/02/2014, 15h52
  3. Communication entre deux programmes c# par USB
    Par Sylvain_31 dans le forum C#
    Réponses: 1
    Dernier message: 13/04/2010, 23h27
  4. Communication entre PC et étuve par RS232
    Par goodsayan dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 21/01/2008, 16h09
  5. Communication entre JDialog et JFrame
    Par haffouff dans le forum Agents de placement/Fenêtres
    Réponses: 5
    Dernier message: 19/04/2007, 20h32

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