Bonjour à tous !
J'ai une petite question ^^.
Je développe un logiciel qui permet à l'utilisateur de créer des fichier de configuration au format XML.
Dans un premier temps, l'utilisateur doit cliquer sur Nouveau et des fenêtres s'afficheront au fur à mesure pour créer l'arborescence du fichier XML. Cette arbo sera "recopiée" dans un JTree.
L'interface principale est découpée en deux : à gauche l'arbre et à droite un JPanel.
Quand l'utilisateur cliquera sur un nœud de l'arbre, les informations seront affichées dans le Jpanel.
En fonction des champs composant le nœud le contenu de mon JPanel change.
J'ai donc créé 2 tableaux
J'ai créé un événement sur l'arbre (à chaque fois que l'utilisateur change de noeud).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 private javax.swing.JLabel[] tabLabel; private javax.swing.JTextField[] tabLabel;
Je récupère les infos du nœud et je les affiche.
Mais voilà ça ne fait tout à fait ce que je veux. A chaque fois que je change de nœud les objets "s'empilent" les uns sur les autres. Je pense que c'est du au fait que je n'efface pas le tableau...
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 private void printInfos (Map<Field, Boolean> champs){ java.util.Iterator<Field> itr = champs.keySet().iterator(); String typeChamp = ""; String id = ""; mainPanel.removeAll(); mainPanel.setLayout(new java.awt.GridLayout(champs.size(), 2, 0, 10)); this.tabNomChamps = new javax.swing.JLabel[champs.size()]; this.tabTypeChamps = new javax.swing.JComponent[champs.size()]; int i = 0; while(itr.hasNext()){ id = itr.next().getName(); this.tabNomChamps[i] = new javax.swing.JLabel(id); mainPanel.add(this.tabNomChamps[i]); this.tabTypeChamps[i] = new javax.swing.JTextField(); mainPanel.add(this.tabTypeChamps[i]); i++; }
En C++, j'aurais supprimer tout le tableau et je l'aurais recréer mais en java je ne sais pas comment faire ...Si quelqu'un à une idée ^^
Merci d'avance
Partager