Trouver programmatiquement l'instance d'un objet parent dont je suis une propriété
Bonjour.
J'ai une question portant sur Java; pas sur Swing, même si mon exemple en comporte des éléments de Swing.
Help ! Quelqu'un pourrait d'abord me dire : À part les tags [LIST] et [INDENT] pour établir une 'liste à bulles' avec différentes indentations, quel est le tag désignant qu'on passe à l'item suivant dans une liste ? Je corrigerai alors les deux listes suivantes.
À partir d'un objet 'b' (this), trouver par instructions la variable ou l'objet 'a' pour lequel 'a' constitue une propriété dans 'b' (= une variable d'instance).
(Non pas : Trouver à partir de l'objet 'b' (this) l'objet 'a' dont il hérite [super])
Soit la configuration (élaguée) suivante :
- Un panneau 'panneauÀOnglets2' de classe 'JTabbedPane' agrégeant [addPan()]
- deux panneaux 'tab_ÉnergÉlectr_TranchePuiss_2x'
de classe propre 'ÉnergÉlectrParTranchePuiss'
devant pouvoir fonctionner de manière autonome et comprenant chacun :
- un panneau 'panneauTteLaPage' de classe 'JPanel' agrégeant entre autres
- un panneau 'panneauDePanneauxÀUnOnglet'
agrégeant trois panneaux, dont les deux suivants concernent le présent problème :
- 'tabPan_ChoixMach' de classe propre 'TabPan_ChoixMach'
contenant la méthode 'public byte getNbreMachChoisies()' qui intéresse d'autres objets dans d'autres branches.
- 'tabPan_TtesCombMach' de classe propre 'TabPan_TtesCombMach'
héritant de JPanel et contenant entre autres :
- 'tablePrinc_TtesCombMach' de classe 'TablePrinc_TtesCombMach'
héritant de JTable et faisant appel à 'ModèleTblPrinc_TtesCombMach'.
- un panneau à graphique ('panneauGraph' - Ne concerne pas le présent problème)
un panneau à graphique ('panneauGraph' - Ne concerne pas le présent problème)
Rem. Pour la simplicité, je n'ai pas mentionné les 'JScrollPane's.
[Je n'ai pas trouvé le moyen pour que l'éditeur affiche une bulle noire également au 2e item et plus ! Good grief]
Pour permettre à des méthodes propres à la 'tablePrinc_TtesCombMach' d'accéder au 'nbreMachChoisies' de l'objet 'tabPan_ChoixMach',
- soit je passe l'un des deux objets 'énergÉlectr_TranchePuiss' de la classe même 'ÉnergÉlectr_TranchePuiss' en argument
(Méthode que j'emploie couramment) :
- au constructeur 'TabPan_TtesCombMach(ÉnergÉlectrParTranchePuiss énÉlecTranPuiss)'
- à 'modèleTblPrinc_TtesCombMach = new ModèleTblPrinc_TtesCombMach(énÉlecTranPuiss)'
- soit '(choixpuissmachcogén.monotone.machchoisies.ModèleTable_MachChoisies) énÉlecTranPuiss.getTabPnl_MachChoisies().getTable_MachChoisies().getModel()' .
- soit j'utilise un import de 'énÉlecTranPuiss'. (Méthode que j'emploie couramment)
Voici enfin ma question :
Plutôt que de transmettre 'énÉlecTranPuiss' par argument d'objet à objet (= ma méthode privilégiée n°2), y a- t-il des instructions de l'API de Java qui permettent de trouver l'objet parent de l'objet où l'on est, pour faire par une suite d'instructions le cheminement vers une variable (retournée par la méthode 'public getNbreMachChoisies()'), vers un objet cousin ('tabPan_ChoixMach') et la transmettre aux codes situés dans les objets 'TablePrinc_TtesCombMach' et 'ModèleTblPrinc_TtesCombMach' ?
Un peu comme 'super.', sauf qu'il ne s'agit pas ici d'héritage. Ou comme 'InstanceOf()'.
Mon exposé est assez clair ?
Merci d'avance pour vos éventuels essais de réponse
et à Développez.net pour son impressionnante offre et son précieux service.