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 :

récupérer la référence d'un objet créé


Sujet :

avec Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2005
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 46
    Points : 38
    Points
    38
    Par défaut récupérer la référence d'un objet créé
    Bonjour,

    Au fur et à mesure que j'avance sur mon projet, je suis en train de constater que j'ai besoin de réaliser des opérations sur des objets déjà existants mais que je n'arrive pas à trouver. Je donne un petit exemple:

    - J'ai une classe qui crée un tabbox qui contiendra plusieurs tabpanel, cette classe appelle une autre classe qui elle crée les tabpanels.

    - La classe tabpanels appelle une classe qui crée un borderlayout

    - La classe borderlayout crée un bouton

    - L'action du bouton doit ouvrir une nouvelle tabpanel dans la tabbox initiale

    C'est sur ce dernier point que je me demande sur la façon de comment retrouver la tabbox initiale?
    Tout ce que j'ai pu faire c'est de m'assurer de passer la tabbox en paramètre pendant tout le traitement, du coup les classes intermédiaires passent un paramètre qu'il n'utilisent pas, juste pour garder la trace afin que le l'action du bouton sache à quel objet elle doit ajouter une tabpanel.

    Ce traitement est un peu lourd et pas du tout élégant, est-ce que quelqu'un pourrait m'expliquer conceptuellement comment procéder pour trouver un objet créé par une classe antérieure?

  2. #2
    Membre habitué Avatar de erictoguem
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    150
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 150
    Points : 187
    Points
    187
    Par défaut
    Si dans ton application tu crée une seule tabbox alors en utilisant le pattern de singleton tu résouds le problème.
    C'est à dire, le constructeur de ta tabbox est privée, tu as une variable de classe privée de tabbox de type tabbox initialisée à null et tu a une méthode statique gettabbox qui lors du premier appel initialise ta variale statique avant de la renvoyer et lors des appels suivant la renvoie simplement.
    ainsi tu pourra y accéder n'importe où dans ton code.
    JAVA : Plus qu'un langage, une façon de penser

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mars 2005
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 46
    Points : 38
    Points
    38
    Par défaut
    Merci pour ta réponse, je me suis documenté concernant les singletons et il parait que ça résout ce cas bien précis.

    Mais vu que je débute et que je crois que je serais confronté un jour ou l'autre au besoin énoncé et j'aimerais savoir comment faire.

    Supposons que ce ne soit pas unique comme ce cas du tabbox, supposons que j'ai une page qui affiche trois tableaux qui sont générés partir d'une seule classe mais qui doivent être traités différemment, les objets sont créés et attendent qu'on les manipule, mais je ne sais pas comment le faire.

    Peut-être que mon singleton serait une liste qui contiendrait les références des objets créés et après ...
    et après ????

  4. #4
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Le plus simple serait de passer la référence de l'objet demandeur à l'objet construit, ainsi, tu auras toujours accès au parent... un truc comme ceci
    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
     
    public class Principale
    {
       Secondaire secondaire;
     
       public Principale()
       {
          super();
          secondaire = new Secondaire(this);
       }
    }
     
    public class Secondaire
    {
          Object parent;
     
          public Secondaire(Object parent)
          {
             super();
             this.parent = parent;
          }
    }
    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre habitué Avatar de erictoguem
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    150
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 150
    Points : 187
    Points
    187
    Par défaut
    je crois que c'est comme ça qu'il a fait, mais il trouve lourd.
    JAVA : Plus qu'un langage, une façon de penser

  6. #6
    Nouveau membre du Club
    Inscrit en
    Mars 2005
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 46
    Points : 38
    Points
    38
    Par défaut [Résolu]
    Merci pour vos réponses, je crois que ma façon de programmer n'est pas la plus optimale et c'est pour ça que je suis confronté à un besoin "étrange".

    Je vais revoir mon code, il parait que le fait que ça fonctionne ne veut pas dire que c'est obligatoirement bon.

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

Discussions similaires

  1. Récupérer la référence d'un objet
    Par derlone dans le forum Débuter avec Java
    Réponses: 9
    Dernier message: 04/05/2009, 22h16
  2. Comment récupérer la référence d'un objet ?
    Par 19cmos83 dans le forum VB.NET
    Réponses: 1
    Dernier message: 21/11/2007, 10h55
  3. [Sources]Récupérer le chemin d'un objet OLE
    Par Mr.Gus dans le forum Contribuez
    Réponses: 9
    Dernier message: 12/05/2005, 10h11
  4. [Ada] Récupérer un pointeur sur un objet existant
    Par vincnet500 dans le forum Ada
    Réponses: 1
    Dernier message: 14/11/2004, 14h26

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