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

avec Java Discussion :

Passage de variables


Sujet :

avec Java

  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Italie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2011
    Messages : 101
    Points : 51
    Points
    51
    Par défaut Passage de variables
    Bonsoir,

    Je veux que les variables d'une classe seront visibles dans une deuxième classe et vis versa. comme si ces deux classes appartiennent à une seule classe.

    J'ai réfléchi à l'héritage mais le passage des variables se fait dans un seul sens. classe A--> classe B mais pas dans le sens contraire.

    Aussi je ne veux pas utiliser la notion d'instance comme est présenté ci-dessous

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    classe A
    { 
    Classe B=new Classe B();
     
    }
    Est ce qu'il existe une solution?

    Merci

  2. #2
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Points : 13 670
    Points
    13 670
    Par défaut
    Citation Envoyé par jowelle Voir le message
    Je veux que les variables d'une classe seront visibles dans une deuxième classe et vis versa. comme si ces deux classes appartiennent à une seule classe.
    Pourquoi ?

    Si tu as besoin des variables dans un sens et un autre, peut être que ta répartition des données est mauvaise. Ou alors, peut être que tu as besoin d'en créer une troisième centralisant les infos ? Dans tout les cas, explique ton besoin, ça nous orientera peut être sur la procédure à mettre en place.
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

  3. #3
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Italie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2011
    Messages : 101
    Points : 51
    Points
    51
    Par défaut
    J'ai besoin d'un passage mutuel des variables entre deux classes jFrame. En fait je veux que les variables de la première classe jFrame seront visibles et utilisés dans la deuxième jFrame et vis versa.

    En plus, je ne veux pas que les deux jFrame soient dans la même classes. Mais plutôt je veux implémenter chaque jFrame dans une classe à part.

    Le problème est que l'héritage ne permet que le passage des variables dans un seul sens.

  4. #4
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Points : 13 670
    Points
    13 670
    Par défaut
    Citation Envoyé par jowelle Voir le message
    J'ai besoin d'un passage mutuel des variables entre deux classes jFrame. En fait je veux que les variables de la première classe jFrame seront visibles et utilisés dans la deuxième jFrame et vis versa.
    Tu peux passer par une troisième classe qui se contentera de créer tes frames et de renseigner la référence de l'une au sein de l'autre (et donc rien à voir avec l'héritage). Quelque chose comme ça :

    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
    // Première JFrame
    public class AFrame extends JFrame {
      private JFrame frameReferencee;
     
      public JFrame getFrameReferencee() {
        return frameReferencee;
      }
     
      public void setFrameReferencee(JFrame frame) {
        frameReferencee = frame;
      }
    }
     
    // Deuxième JFrame
    public class BFrame extends JFrame {
      // Même mécanisme
    }
     
    // Classe referençant chacune des JFrame
    public class Construction {
     
      public Construction() {
        AFrame a = new AFrame();
        BFrame b = new BFrame();
     
        // A partir du moment où la première JFrame à une référence vers l'autre, elle peut accéder à ses attributs
        a.setFrameReferencee(b);
        ...
      }
    }
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

  5. #5
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Italie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2011
    Messages : 101
    Points : 51
    Points
    51
    Par défaut
    Un exemple:

    Dans la première JFrame A ( qui existe dans un premier fichier java) :J'ai une variable (jTextField2).
    Dans la deuxième jFrame B (qui existe dans un autre fichier java ) qui existe dans un deuxième fichier java ): j'ai une variable (jTextField3).

    Ci dessous un scénario simple de ce que je veux faire:

    1)récupérer la variable jTextField2 à partir de la deuxième jFrame B et la mettre dans le champ jTextField3.

    2) effectuer un calcul à partir de la variable jTextField3--> pour trouver par exemple une nouvelle variable appelée "somme".

    3)récupérer dans JFrame A la valeur de la "somme" et la mettre dans jTextField2.

    4) répéter 1)

  6. #6
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Points : 13 670
    Points
    13 670
    Par défaut
    Avec les éléments que je t'ai donné tu seras en mesure de faire ça car chacune des JFrame aura une référence vers l'autre.
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

  7. #7
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Ce serait plutôt :

    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
    public class AFrame extends JFrame {
      private BFrame bframe;
      private JTextField textField2 = new JTextField(); 
     
      public void setBframe(BFrame bframe) {
        this.bframe = bframe;
      }
     
      public void trucQuiUtiliseBframe() {
        JTextField field = bframe.textField3;
        // et la suite
      }
    }
     
    public class BFrame extends JFrame {
      private AFrame aframe;
      private JTextField textField3 = new JTextField(); 
     
      public void setAframe(AFrame aframe) {
        this.aframe = aframe;
      }
     
      public void machinSurAframe() {
        JTextField field = aframe.textField2;
        // et la suite
      }
    }
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  8. #8
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Italie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2011
    Messages : 101
    Points : 51
    Points
    51
    Par défaut
    Dans les exemples que vous présentez les deux classes appartiennent au même fichier java. Moi je veux plutôt deux fichiers java dont chacun contient un JFrame.

  9. #9
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Citation Envoyé par jowelle Voir le message
    Dans les exemples que vous présentez les deux classes appartiennent au même fichier java. Moi je veux plutôt deux fichiers java dont chacun contient un JFrame.
    ........

    Ok, pardon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public class AFrame extends JFrame {
      private BFrame bframe;
      private JTextField textField2 = new JTextField(); 
     
      public void setBframe(BFrame bframe) {
        this.bframe = bframe;
      }
     
      public void trucQuiUtiliseBframe() {
        JTextField field = bframe.textField3;
        // et la suite
      }
    }
    Ne pas oublier de séparer les fichiers ici.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public class BFrame extends JFrame {
      private AFrame aframe;
      private JTextField textField3 = new JTextField(); 
     
      public void setAframe(AFrame aframe) {
        this.aframe = aframe;
      }
     
      public void machinSurAframe() {
        JTextField field = aframe.textField2;
        // et la suite
      }
    }
    Plus sérieusement. Pour information, un fichier .java ne peut pas contenir plus d'une classe publique. Donc si on met deux classes publiques, c'est qu'elles sont chacune dans un fichier différent.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  10. #10
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Citation Envoyé par jowelle Voir le message
    Dans les exemples que vous présentez les deux classes appartiennent au même fichier java. Moi je veux plutôt deux fichiers java dont chacun contient un JFrame.
    Tu veux dire une classe A contenant un propriété AFrame et une autre classe B contenant un propriété BFrame?
    Le principe est le même, tu les manipules via de méthodes public.

    A+.

  11. #11
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Italie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2011
    Messages : 101
    Points : 51
    Points
    51
    Par défaut
    Dans ce cas comment la valeur de jTextField2 sera reconnu dans le deuxième fichier ( sachant qu'elle appartient au premier fichier). Je sais que je peux instancier la première classe et l' appeler, mais dans ce cas je n'aurais pas sa valeur courante mais plutôt j'aurais la valeur null.

  12. #12
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Regarde au moins les chapitres 2 et 4 de ce tutoriel qui répond à ton soucis jusqu'ici. A toi de voir ensuite si tu veux aller plus loin.

    A+.

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    281
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 281
    Points : 321
    Points
    321
    Par défaut
    Je pense que tu devrait approfondir tes connaissances en POO avant de continuer ceci.

  14. #14
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Citation Envoyé par druzy Voir le message
    Je pense que tu devrait approfondir tes connaissances en POO avant de continuer ceci.
    Pas valable. On peut raisonnablement penser qu'elle est là justement pour ça.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  15. #15
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    281
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 281
    Points : 321
    Points
    321
    Par défaut
    Au vu de la teneur des questions, je pense que ce qu'il veut faire dépasse ses compétences et qu'il devrait travailler d'autres bases pour y revenir plus tard. Après je peux me tromper.

Discussions similaires

  1. [langage] Probleme passage de variables entre modules
    Par Ludo167 dans le forum Langage
    Réponses: 4
    Dernier message: 13/08/2004, 12h25
  2. Passage de variable dans un lien asp
    Par VirginieGE dans le forum ASP
    Réponses: 4
    Dernier message: 27/07/2004, 10h06
  3. [Kylix] passage de variable en Libc
    Par zheng dans le forum EDI
    Réponses: 11
    Dernier message: 06/05/2004, 14h14
  4. Passage de variable par methode post ?
    Par oazar dans le forum Flash
    Réponses: 33
    Dernier message: 16/10/2003, 17h03
  5. [langage] Passage de variables...
    Par martijan dans le forum Langage
    Réponses: 8
    Dernier message: 30/07/2003, 09h48

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