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

Graphisme Java Discussion :

Transmettre une donnée à une fenêtre parent


Sujet :

Graphisme Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 122
    Par défaut Transmettre une donnée à une fenêtre parent
    Bonjour à toutes et à tous,

    Dans une application composée d'un JFrame et de plusieurs JInternalFrame, je souhaite, lorsque je déplace la souris dans un JInternalFrame voir les coordonnées de celle-ci s'afficher dans un JTextField (par exemple) du JFrame.

    Autrement dit, peut-on placer une écouteur dans un JFrame qui recueuille des évènements se produisant dans des fenêtres filles ?

    D'une manière générale, comment transmet-on des données vers une fenêtre (ou composant) parent ?

    Merci de votre aide.

    Pierre

  2. #2
    Membre chevronné
    Avatar de mhamedbj
    Profil pro
    Inscrit en
    Février 2007
    Messages
    403
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 403
    Par défaut
    il suffit que tu transmette l'instance de ton jtext vers la fenetre enfant et tu detecte la positon avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public void mouseMoved(MouseEvent e) {
    montextfield.setText("X : " +e.getX()+" Y : "+e.getY());
        }

  3. #3
    Membre émérite
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 122
    Par défaut
    Ce n'est pas dans le sens du "Model-View-Control", mais bon, faisons simple.

    Comment fais-tu pour transmettre l'instance du JText à la fenêtre enfant ?

    Merci de votre aide.

    Pierre

  4. #4
    Membre chevronné
    Avatar de mhamedbj
    Profil pro
    Inscrit en
    Février 2007
    Messages
    403
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 403
    Par défaut
    dans le constructeur de la fenêtre fille tu ajoute un paramètre JtextField et c'est celui la que tu utilise

  5. #5
    Membre émérite
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 122
    Par défaut
    C'est ce que j'ai essayé de faire, mais cela ne fonctionne pas car une fois l'instance passée dans le constructeur, elle devient une variable locale de la fenêtre fille et n'a plus rien à voir avec l'instance de la fenêtre mère amha ?

    As-tu un exemple qui fonctionne ?

    Merci de votre aide.

    Pierre.

  6. #6
    Membre chevronné
    Avatar de mhamedbj
    Profil pro
    Inscrit en
    Février 2007
    Messages
    403
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 403
    Par défaut
    Citation Envoyé par ChPr
    C'est ce que j'ai essayé de faire, mais cela ne fonctionne pas car une fois l'instance passée dans le constructeur, elle devient une variable locale de la fenêtre fille et n'a plus rien à voir avec l'instance de la fenêtre mère
    tu dois declarer une variable dans ta fentre fille
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private JTextField JTF;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    public fenetreFille(JTextField JTF){
    this.JTF = JTF;}
    et apres quand tu fais unelle change obligatoirement dans ta fenetre mere !!!

    tu n'as vraiment pas besoin de compliquer les choses et passer par les listener !!!

  7. #7
    Membre émérite
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 122
    Par défaut
    Effectivement, ça marche bien. Est-ce que le raison est la suivante :

    en Java, les objets sont passées par références et donc l'objet passé et celui de la fenêtre mère ne font qu'un. Conclusion, modifier l'objet dans la fenêtre fille revient à modifier l'objet de la fenêtre mère. C'est bon ?

    Cordialement.

    Pierre.

  8. #8
    Membre émérite
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 122
    Par défaut
    Bon, ça y est, j'ai résolu le problème grâce au tutoriel "Créer ses propres listeners en java" de Romain Vimont.

    C'est article est très bien sauf ... qu'il est dur à digérer pour un débutant en java. En effet, il est supposé que le lecteur sait "où" placer les différents morceaux de codes cités. J'en ai profité pour appréhender tout cela.

    Cordialement.

    Pierre

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

Discussions similaires

  1. transmettre des données à une fonction par l'URL
    Par laurentSc dans le forum Langage
    Réponses: 8
    Dernier message: 04/12/2014, 17h10
  2. Réponses: 2
    Dernier message: 16/02/2007, 12h09
  3. ecrire une donnée à une adresse précise
    Par luckydigit dans le forum C
    Réponses: 4
    Dernier message: 16/06/2006, 23h13
  4. passer une valeur à la fenêtre parent
    Par Hinomura Yo dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 20/10/2005, 15h38

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