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. #21
    Membre confirmé
    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
    Par défaut
    Là, je ne te suis plus

    Si je mets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public class MainFrame extends JFrame
    {	
            private void saveActionPerformed(ActionEvent e)
    	{
                 ActionsFromFrame aff = new ActionsFromFrame(this);
            }
    }
    Alors, le "this", renvoie à l'instance courante de MainFrame, et pas de la classe Window ...
    Et je *dois* envoyer un parametre Window au construcuteur de ActionsFromFrame.

    Ou alors il y'a quelque chose que je ne comprend pas ?

    Sorry, je me sens un peu bête :s

  2. #22
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 483
    Par défaut
    Citation Envoyé par Mornor Voir le message

    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.
    Ben non, si on omet le choix peux judicieux d'appeler ta classe "Window"

    dans Window, tu fais new MainFrame(this) pour créer la mainFrame, et dans saveActionPerformed, tu fais simplement getWindow().getMovieList()

  3. #23
    Membre confirmé
    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
    Par défaut
    Merci de la réponse.

    Mais je ne comprend pas, la méthode getWindow n'existe pas nativement ?
    Je suis dans une méthode externe au constructeur qui prend Window en paramètre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    public MainFrame(Window w){}
    Donc comment récupérer l'instance courante de Window, dans la méthode saveActionPerformed ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    private void saveActionPerformed(ActionEvent e){}
    Edit : Sruffisait de mettre une variable d'instance globale et de l'initialiser avec this dans le constructeur ...

  4. #24
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 483
    Par défaut
    Heu non, pourquoi tu veux qu'elle existe vu que tu es le seul à en avoir besoin, vu que la classe "Window" en question, c'est toi qui l'a écrite.

    On te passe un paramètre à ton constructeur, à toi d'en faire quelque chose. En l'occurence, le stocker dans un champ de la classe pour que ton getWindow() puisse le retourner par la suite.

  5. #25
    Membre confirmé
    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
    Par défaut
    Un énorme merci à tout ceux qui m'ont aidé, tout fonctionne enfin super bien.
    J'ai appris vraiment beaucoup de chose grâce à vous.

    A bientôt les amis

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

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, 09h42
  2. Question sur Héritage
    Par Moustico dans le forum C++/CLI
    Réponses: 6
    Dernier message: 03/01/2008, 20h27
  3. Question sur héritage
    Par Linkin dans le forum Delphi
    Réponses: 4
    Dernier message: 09/11/2006, 14h58
  4. [Héritage] Question sur le polymorphisme
    Par nikhil dans le forum C++
    Réponses: 7
    Dernier message: 28/12/2005, 21h33
  5. Réponses: 2
    Dernier message: 04/12/2005, 22h10

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