Bonjour,
J'ai un petit souci sur une appli Java avec un tableau de JLabel.
Le problème se situe sur une page de l'application présentant un formulaire ayant une hiérarchie à 3 niveaux :
Niveau principal (JLabel)
Sous-niveau (JLabel[])Sous-sous-niveau (JCheckBox[])
Les différentes données qui vont composer le formulaire sont chargées depuis une BDD. Une JComboBox permet de sélectionner le niveau principal, ensuite le formulaire se créer avec les différents sous-niveaux et sous-sous-niveaux relatifs au niveau principal sélectionné.
Mon problème concerne les sous-niveaux : quand je sélectionne un niveau principal, au début les sous-niveaux correspondant s'affichent correctement sur le formulaire ; seulement lorsque je sélectionne un autre niveau principal (toujours via la JComboBox), les sous-niveaux précédemment affichés restent sur le formulaire et les nouveaux viennent s'accumuler derrières
Ceci est un peu normal vu que je dois créer une instance de mon layout et de mon tableau de JLabel lors de l'événement de sélection d'un élément de ma JComboBox (afin d’initialiser le nombre de lignes nécessaire pour mon GridLayout et le nombre d’éléments dans mon JLabel[] (qui varient selon le nombre de sous-niveaux du niveau principal sélectionné)) :
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 panelCriteres = new JPanel(); GridLayout layoutCriteres = new GridLayout(this.criteres.getCollection().size(), 1); panelCriteres.setLayout(layoutCriteres); JLabel labelCriteres[] = new JLabel[this.criteres.getCollection().size()]; for (int i = 0 ; i < this.criteres.getCollection().size() ; i++) { labelCriteres[i] = new JLabel(String.valueOf(this.criteres.getCollection().get(i))); // Ajout des libellés } for (int j = 0 ; j < this.criteres.getCollection().size() ; j++) // Positionnement des JLabel { panelCriteres.add(labelCriteres[j]); labelCriteres[j].setBackground(Color.WHITE); }
Comment pourrais-je procéder pour résoudre ce problème et faire en sorte que les JLabel des sous-niveaux ne s’accumulent pas sur le formulaire quand je sélectionne un niveau principal via ma JComboBox ?
Merci d’avance pour vos réponses,
Tom
Partager