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

Java Discussion :

Questions sur héritage


Sujet :

Java

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2013
    Messages : 88
    Points : 57
    Points
    57
    Par défaut Questions sur héritage
    Bonjour à tous !

    Je suis actuellement en train de construire un petit programme pour gérer mes films et je n'arrive pas à résoudre un problème.

    J'ai dans ma première classe, Window, un tableau de String.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public class Window extends JFrame 
    {
              public String[] movieList;
    }
    Ce tableau est rempli de la façon suivante, par la méthode ci-dessous (faisant partie de la même classe Window) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    private void browseActionPerformed(ActionEvent e)
    {
              JFileChooser fileChooser = new JFileChooser(".");
              if(ret == JFileChooser.APPROVE_OPTION)
              {
                    File selFile = fileChooser.getSelectedFile();  
                    String[] movieList = selFile.list();   
                    this.movieList = movieList;
              }
    }
    Une fois cela fait, je créer une autre classe dans laquelle j'aimerai pouvoir récupérer ce tableau, afin de le sauvearder
    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
     
    public class ActionsFromFrame extends Window implements Serializable
    { 
               public String liste[];
               public ActionsFromFrame()
    	  {
    		this.liste = super.movieList;
    	  }
     
    	  public void print()
    	  {
    		System.out.println("PRINT");
    		System.out.println(liste[0]);
    	  }
    }
    Mais j'ai un problème lorsque j'essaye la méthode print().
    Je ne vois pas d'ou cela peut venir, et je dois dire que j'ai essayer pas mal de trucs ...

    Quelqu'un saurait-il me donner un coup de pouce ?

    Bien cordialement,

    Mornor.

  2. #2
    Rédacteur
    Avatar de CyaNnOrangehead
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    777
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2008
    Messages : 777
    Points : 1 731
    Points
    1 731
    Par défaut
    Salut,

    Tu n'as pas la même écriture :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    public String[] movieList;
    public String liste[];
    Je n'utilise jamais les tableaux, mais ça me semble étrange.
    Préfère peu-t-être utiliser List<String> plus simple à manipuler.
    Retrouvez tous mes tutoriels : http://caron-yann.developpez.com/

    Et mon projet en cours : Algoid - programming language

    N'oubliez pas de consulter les FAQ Java (http://java.developpez.com/faq/) et les cours et tutoriels Java (http://java.developpez.com/cours/)

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2013
    Messages : 88
    Points : 57
    Points
    57
    Par défaut
    Merci de votre réponse !

    J'utilise des tableaux, car je n'ai besoin de stocker que des Strings, donc pourquoi utiliser une List<String> ?

    De plus, le fait que je n'ai pas la même écriture n'est pas grave étant donné que dans la classe héritée, j'ai bien un this.liste = super.movieList :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public class ActionsFromFrame extends Window implements Serializable
    {
    public String liste[]; 
     
    	public ActionsFromFrame()
    	{
    		this.liste = super.movieList;
    	}
    }
    Edit : J'utilise un tableau, car celui-ci me permet de créer une JTable.

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    442
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 442
    Points : 417
    Points
    417
    Par défaut
    j'ai un problème lorsque j'essaye la méthode print().
    Quel problème ? Quel message d'erreur ?

  5. #5
    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
    On hérite d'une classe, pas d'une instance.

    Ce qui arrive dans une instance de Window ne concerne absolument pas ce qui arrive dans des instances de ActionsFromFrame, héritage ou non.
    Si tu veux que ton instance de ActionsFromFrame récupère une liste de la même manière que Window le ferait, il faut le faire de la même manière que Window le fait : en appelant la méthode dédiée.

    Si tu veux que ton instance de ActionsFromFrame récupère des données que possède ton instance de Window, il n'y a pas d'héritage à mettre : ça n'a rien à voir. La Window doit juste passer cette information aux ActionsFromFrame qu'elle crée, dans le constructeur par exemple.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2013
    Messages : 88
    Points : 57
    Points
    57
    Par défaut
    Sharcoux : J'ai une NullPointerException.

    Thelvin : Je ne comprend pas ce que tu veux dire ... J'hérite de Window qui possède une variable String[] movieList, j'hérite donc de cette variable non ?

  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
    Citation Envoyé par Mornor Voir le message
    Thelvin : Je ne comprend pas ce que tu veux dire ... J'hérite de Window qui possède une variable String[] movieList, j'hérite donc de cette variable non ?
    Oui... Cette variable qui vient d'une autre classe, une classe parente.

    Mais chaque instance qui possède cette variable parce sa classe la définit ou en hérite, possède sa propre version de la variable, et ne la partage avec aucune autre instance.
    Ton instance de Window, qui a défini une valeur pour cette variable, la garde donc pour elle. Ça ne change rien au fait que ton instance de ActionsFromFrame, elle, n'a jamais défini de valeur pour cette variable. C'est exactement la même chose que si tu avais fait deux fois new Window() : même si l'une des deux a récupéré une valeur pour cette variable, ça ne concerne pas l'autre.

    L'héritage ne sert tout simplement pas à ce genre de choses.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  8. #8
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2013
    Messages : 88
    Points : 57
    Points
    57
    Par défaut
    Ou la !
    D'office quoi ! Je me sens vraiment ultra con ...
    Comment pourrais-je faire dés lors pour récupérer ce tableau de String ?

  9. #9
    Rédacteur
    Avatar de CyaNnOrangehead
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    777
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2008
    Messages : 777
    Points : 1 731
    Points
    1 731
    Par défaut
    Moi je ne comprend tout simplement pas pourquoi tu cherche à entretenir deux listes alors que tu peu accéder à la movieliste de la classe parent.

    Surtout que comme tu utilise des tableaux, ce ne sont pas des pointeurs. Du coup les valeurs de liste et de moveListe ne seront pas synchronisées.
    Retrouvez tous mes tutoriels : http://caron-yann.developpez.com/

    Et mon projet en cours : Algoid - programming language

    N'oubliez pas de consulter les FAQ Java (http://java.developpez.com/faq/) et les cours et tutoriels Java (http://java.developpez.com/cours/)

  10. #10
    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 Mornor Voir le message
    Comment pourrais-je faire dés lors pour récupérer ce tableau de String ?
    ajouter une méthode String[] getCeTableauDeString() { dans ta classe Window, et un paramètre Window dans le constructeur de ta classe ActionsFromFrame.

    Du coup quand il veut la liste il n'a plus qu'à la demander à l'objet qui a cette liste.

    Citation Envoyé par CyaNnOrangehead Voir le message
    Moi je ne comprend tout simplement pas pourquoi tu cherche à entretenir deux listes alors que tu peu accéder à la movieliste de la classe parent.
    C'est exactement ce qu'il veut faire, mais il ne comprend pas la notion.

    Citation Envoyé par CyaNnOrangehead Voir le message
    Surtout que comme tu utilise des tableaux, ce ne sont pas des pointeurs. Du coup les valeurs de liste et de moveListe ne seront pas synchronisées.
    What ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  11. #11
    Modérateur
    Avatar de MasterMbg
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 719
    Points : 1 493
    Points
    1 493
    Par défaut
    Bonjour,
    avant même l'utilisation abusée de l'heritage, je trouve des petits soucis...
    Quand tu déclares ton tableau ici :
    [quote=Mornor;7558226]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public class Window extends JFrame 
    {
              public String[] movieList;
    }
    tu crées une référence à un tableau des string. Le tableau n'est encore effectivement pas créé donc n'est pas prêt pour l'utilisation.
    Et ici :
    Citation Envoyé par Mornor Voir le message
    Ce tableau est rempli de la façon suivante, par la méthode ci-dessous (faisant partie de la même classe Window) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    private void browseActionPerformed(ActionEvent e)
    {
              JFileChooser fileChooser = new JFileChooser(".");
              if(ret == JFileChooser.APPROVE_OPTION)
              {
                    File selFile = fileChooser.getSelectedFile();  
                    String[] movieList = selFile.list();   
                    this.movieList = movieList;
              }
    }
    Tu utilises ce tableau alors que tu ne l'as pas créé explicitement (en spécifiant sa taille par l'opérateur new). C'est peut être l'une des raisons du message d'erreur (nullpoint.... ) que tu reçois.

    PS : La taille de la liste des fichiers que tu récupères de ta boite n'est pas connue à l'avance, de là, je relève l'importance d'utiliser la structure List à la place d'un tableau. voir même un Vector pourrait t'aider.
    Plus tu apprends sérieusement, plus tu te rapproches d'un savoir noble. Une chose est certaine, les difficultés ne s'écarteront de ton chemin...

    Tu es nouveau dans le développement Android, la page des COURS est là pour te faciliter la vie
    Tu peux trouver la réponse à ta question dans la FAQ
    Retrouvez mon tutoriel sur la consommation des services web SOAP
    Pense à voter positivement en appuyant sur en bas à droite de la réponse qui t'a donné une piste de solution.

  12. #12
    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
    Qu'est-ce que vous racontez tous les deux, vous avez des vrais problèmes avec les tableaux.

    - Un tableau est un objet, donc bien sûr que c'est des histoires de pointeurs, comme tous les objets.
    - File.list() renvoie un tableau, donc c'est évidemment File.list() qui crée ce tableau avec new.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  13. #13
    Modérateur
    Avatar de MasterMbg
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 719
    Points : 1 493
    Points
    1 493
    Par défaut
    Citation Envoyé par thelvin Voir le message
    Qu'est-ce que vous racontez tous les deux, vous avez des vrais problèmes avec les tableaux.
    - File.list() renvoie un tableau, donc c'est évidemment File.list() qui crée ce tableau avec new.
    Ah d'accord, création puis initialisation... je vois, faute d'inattention de ma part. Merci thelvin, le blem d'ailleurs effectivement.
    Plus tu apprends sérieusement, plus tu te rapproches d'un savoir noble. Une chose est certaine, les difficultés ne s'écarteront de ton chemin...

    Tu es nouveau dans le développement Android, la page des COURS est là pour te faciliter la vie
    Tu peux trouver la réponse à ta question dans la FAQ
    Retrouvez mon tutoriel sur la consommation des services web SOAP
    Pense à voter positivement en appuyant sur en bas à droite de la réponse qui t'a donné une piste de solution.

  14. #14
    Rédacteur
    Avatar de CyaNnOrangehead
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    777
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2008
    Messages : 777
    Points : 1 731
    Points
    1 731
    Par défaut
    Citation Envoyé par thelvin Voir le message
    - Un tableau est un objet, donc bien sûr que c'est des histoires de pointeurs, comme tous les objets.
    Ca montre à quel point je n'utilise jamais les tableaux....
    Je pensais que java les considéraient comme des types primitifs....
    Retrouvez tous mes tutoriels : http://caron-yann.developpez.com/

    Et mon projet en cours : Algoid - programming language

    N'oubliez pas de consulter les FAQ Java (http://java.developpez.com/faq/) et les cours et tutoriels Java (http://java.developpez.com/cours/)

  15. #15
    Modérateur
    Avatar de MasterMbg
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 719
    Points : 1 493
    Points
    1 493
    Par défaut
    A mon avis, ce problème ne doit faire intervenir en aucun cas la notion de l'héritage. sauf si on veut faire de n'importe quoi. Une seule classe suffit avec une méthode comme l'a indiquée thelvin, laquelle on va ensuite appeler pour afficher le contenu de l'attribut tableau.
    PS: Dans l'héritage on met en commun les propriétés et méthodes communes à plusieurs classes dans une seule, et ces classes ne vont que hériter de cette dernière pour raison de spécialisation (ajout des propriétés et/ou méthodes propres à chacune). Ce qui n'est le cas avec ce problème.
    Plus tu apprends sérieusement, plus tu te rapproches d'un savoir noble. Une chose est certaine, les difficultés ne s'écarteront de ton chemin...

    Tu es nouveau dans le développement Android, la page des COURS est là pour te faciliter la vie
    Tu peux trouver la réponse à ta question dans la FAQ
    Retrouvez mon tutoriel sur la consommation des services web SOAP
    Pense à voter positivement en appuyant sur en bas à droite de la réponse qui t'a donné une piste de solution.

  16. #16
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2013
    Messages : 88
    Points : 57
    Points
    57
    Par défaut
    Un énorme merci à tout la monde !
    Ce problème m'embetait vraiment et j'en vois enfin la solution !
    J'ai suivi les conseils de thelvin, tout fonctionne à merveille

    Pour ce qui est des tableaux, je n'avais aucun problèmes avec eux, mais merci des quelques précisons par rapport à leur gestion en mémoire.

    Encore un grand merci à tous !

    Edit : Tout ne fonctionne pas tellement à merveille en fait ...

    J'ai, dans ma classe ActionsFromFrame, créer un construcuteur avec Window en parametre, comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    public class ActionsFromFrame extends Window implements Serializable
    {
    	// Getting back the movieList.
    	public String liste[]; 
     
    	public ActionsFromFrame(Window w)
    	{
    		this.liste = w.getMovieString();
    		System.out.println(liste[0]);
    	}
    }
    Mais je dois l'appeler via la classe MainFrame, qui ne possède pas d'instance de Window ! Shit :/
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public class MainFrame extends JFrame
    {
    private void saveActionPerformed(ActionEvent e)
    	{
    		System.out.println("Save listener is working");
    		ActionsFromFrame aff = new ActionsFromFrame(); // aff = ActionsFromFrame
    		aff.saveData(); 
    	}
    }
    Donc, forcémenent que j'ai une erreur, car je ne sais pas quoi passer comme paramètre dans le constructeur de ActionsFromFrame.
    Il faut que je lui passe l'instance courante de Window, mais comment puis-je faire pour la récupérer ?

    Si vous avez des idées ?

  17. #17
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2013
    Messages : 88
    Points : 57
    Points
    57
    Par défaut
    Ne sachant pas si les edit sont pris en compte dans l'actualisation des stream de messages, je me permets (et deteste cela) de faire un petit : up
    Désolé les amis :s

  18. #18
    Rédacteur
    Avatar de CyaNnOrangehead
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    777
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2008
    Messages : 777
    Points : 1 731
    Points
    1 731
    Par défaut
    new ActionsFromFrame(this)

    Si tu vas ici : http://docs.oracle.com/javase/6/docs...ng/JFrame.html tu verra que JFrame hérite de Java.awt.Window

    a+
    Retrouvez tous mes tutoriels : http://caron-yann.developpez.com/

    Et mon projet en cours : Algoid - programming language

    N'oubliez pas de consulter les FAQ Java (http://java.developpez.com/faq/) et les cours et tutoriels Java (http://java.developpez.com/cours/)

  19. #19
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2013
    Messages : 88
    Points : 57
    Points
    57
    Par défaut
    Presque !

    Je me suis peut-être mal exprimé, mais Window, dans mon cas est une classe *que j'ai créer* et pas une classe déjà existante de la Javadoc par exemple.

    La signature de la méthode dans laquelle se trouve la méthode qui va appeler le constructeur de ActionsFromFrame est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public class MainFrame extends JFrame
    {
    private void saveActionPerformed(ActionEvent e)
    	{
    		System.out.println("Save listener is working");
    		ActionsFromFrame aff = new ActionsFromFrame(this); // aff = ActionsFromFrame
    		aff.saveData(); 
    	}
    }
    Tandis que la signature de ma classe Window est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    public class Window extends JFrame {}
    En somme :
    - C'est dans la classe Window que je créer mon tableau de String;
    - C'est dans cette même classe que j'ai la méthode permettant de renvoyer ce tableau de String (getMovieList)
    - Je créer ensuite ma fenêtre principale en appelant le constructeur d'une autre classe, MainFrame, à partir de la classe Window.
    - Dans cette classe (MainFrame), j'écoute un bouton (saveData) qui a pour but de sauver le tableau de String se trouvant dans ... Window !
    - MAIS : saveData fait appel à une méthode de la classe ActionsFromFrame ! D'ou la nécessité de récupérer dans ActionsFromFrame mon tableau de String, afin de le sauvegarder.

    Compliqué ? Oui.

    J'ai donc, pour pouvoir recuperer mon tableau de String, créer dans Window, utiliser les conseils de thelvin.
    A savoir ajouter un parametre Window dans le constructeur de la classe ActionsFromFrame, et une méthode getTabDeString dans Window.

    La question :
    Que dois-je donner comme paramètre à la méthode se trouvant dans MainFrame pour récupérer l'instance courante de Window ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public class MainFrame extends JFrame
    {	
    private void saveActionPerformed(ActionEvent e)
    	{
    		System.out.println("Save listener is working");
    		ActionsFromFrame aff = new ActionsFromFrame(???????); // aff = ActionsFromFrame
    		aff.saveData(); 
    	}
    }
    J'imagine que c'est méga compliqué à comprendre, mais ce n'est en fait pas très difficile ...

    Merci beaucoup à ceux qui prendront le temps de se pencher sur mon problème !

    Bonne soirée les amis

  20. #20
    Rédacteur
    Avatar de CyaNnOrangehead
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    777
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2008
    Messages : 777
    Points : 1 731
    Points
    1 731
    Par défaut
    oui sauf que ta classe window hérite de javax.swing.JFrame qui hérite de java.awt.Frame qui hérite de java.awt.Window

    La magie de la spécialisation !
    Retrouvez tous mes tutoriels : http://caron-yann.developpez.com/

    Et mon projet en cours : Algoid - programming language

    N'oubliez pas de consulter les FAQ Java (http://java.developpez.com/faq/) et les cours et tutoriels Java (http://java.developpez.com/cours/)

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. 2 questions sur héritage et require() distant
    Par ctrl+z dans le forum Langage
    Réponses: 8
    Dernier message: 06/01/2009, 08h42
  2. Question sur Héritage
    Par Moustico dans le forum C++/CLI
    Réponses: 6
    Dernier message: 03/01/2008, 19h27
  3. Question sur héritage
    Par Linkin dans le forum Delphi
    Réponses: 4
    Dernier message: 09/11/2006, 13h58
  4. [Héritage] Question sur le polymorphisme
    Par nikhil dans le forum C++
    Réponses: 7
    Dernier message: 28/12/2005, 20h33
  5. Réponses: 2
    Dernier message: 04/12/2005, 21h10

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