Bonsoir,
Mon besoin est le suivant: je souhaite faire afficher un même JPanel dans plusieurs onglets différents d'un JTabbedPane.
J'ai défini une classe JPanelRapportArrivage.java qui comporte un JTabbedPane regroupant plusieurs onglets. L'objectif de cette classe est de pouvoir configurer les règles de génération des rapports d'arrivage (horaires, automatisation, etc...) et différentes choses liées à ce process "Rapport arrivage".
J'ai également défini une autre classe JPanelClient qui comporte un JTabbedPane avec plusieurs onglets (informations générales, expéditeur, comptabilité, tarifs, web, edi, etc...). Cette classe est la classe "principale" qui affiche l'ensemble des informations du client. Les onglets peuvent eux aussi contenir des JTabbedPane afin de bien séparer les différentes fonctionnalités du programme.
Afin de simplifier la configuration globale du client, j'aimerais que le panel panelRapportArrivage soit présent sur à la fois sur les onglets Expéditeur, EDI et WEB de telle façon que la configuration de ce rapport d'arrivage (qui est unique pour le client considéré) soit accessible lorsque l'utilisateur configure l'EDI ou configure le compte WEB: il ne faut pas qu'il ait à se souvenir dans quel onglet est caché l'onglet de configuration du rapport d'arrivage.
Le problème que je rencontre est le suivant:
J'effectue les appels suivants:
panelRapportArrivage = new JPanelRapportArrivage();
.../... // Quelques initialisations de champs.
jTabbedPaneExpediteur.add("Rapport Arrivage",panelRapportArrivage);
jTabbedPaneWEB.add("Rapport Arrivage",panelRapportArrivage);
jTabbedPanelEDI.add("Rapport Arrivage",panelRapportArrivage);
.../...
La bizarrerie est la suivante: le panel panelRapportArrivage n'apparait que dans un onglet de jTabbedPanelEDI.
Si j'inverse les appels et que le dernier appel concerne jTabbedPanelWEB.add(....), c'est dans un onglet de jTabbedPaneWEB que le panel apparaît.
Mais je constate qu'un onglet avec le titre "Rapport Arrivage" a été créé dans les différents JTabbedPane concernés par les appels.
J'ai tenté de récupérer la liste des components du panel panelRapportArrivage pour les "ajouter" manuellement aux endroits souhaités, mais le comportement reste le même.
Auriez-vous une idée du pourquoi du comment? Ou une solution pour attendre cet objectif de présentation de l'interface?
Vous remerciant par avance de vos lumières et/ou suggestions de recherche,
Bonne soirée.
Laurent
PS: J'espère avoir été assez clair.
PS2: je ne peux malheureusement pas glisser le code en question, bien trop volumineux...
Partager