Bonjour
Je n'arrive pas à "repaint()" un panel j'ai tout essayé (repaint, revalidate des parents, des ancetres...) mais sans résultat il s'agit d'un panel GridBagLayout dont je dois recharger le contenu à partir d'une autre méthode.
Quand je ferme et que je ré-ouvre l'application, l'affichage est correcte mais quand je l'ajoute dynamiquement rien ne change au niveau de l'interface.
Je compte vraiment sur votre aide !
Voici le code du rechargement de contenu :
les xxx n'ont pas d'importance !!Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 static void reloadPanTableContent(JPanel panTable) { panTable.removeAll(); panTable.revalidate(); GridBagConstraints gridBagConstraints = getRowGridConstraints(0); JPanel header = PanelsFactory.getInputDataHeader(); if (xxxxx == null) gridBagConstraints.weighty = 1.0; panTable.add(header, gridBagConstraints); if (xxx != null) { for (int i = 0; i < xxxxxx().size(); i++) { xxx xxx = xxxx; String[] tabPaths = getPathsFromInputList(xxxx); String[] tabVarnames = getVarNamesFromInputList(xxxx); JPanel row = PanelsFactory .getInputRow( xxx.getId(), xxxx.getName() + (xxxx == 1 ? " *" : ""), tabPaths, tabVarnames, PanelsFactory.colors[i % 2]); row.setBackground(PanelsFactory.colors[i % 2]); panTable.add(row, getRowGridConstraints(GridBagConstraints.RELATIVE)); } JPanel endLine = PanelsFactory.getInputRow(0, null, null, null, PanelsFactory.colors[xxxxx.size() % 2]); gridBagConstraints = getRowGridConstraints(GridBagConstraints.RELATIVE); gridBagConstraints.weighty = 1.0; panTable.add(endLine, gridBagConstraints); panTable.revalidate(); }
La suppression marche ! donc normalement ça devrait aussi marché dans l'autre sens :s !!
