Bonjour,
J'ai une classe (monJP) héritant de JPanel. J'applique à cet objet un TableLayout (3 colonnes, 1 ligne). Le problème est que cet objet me sert à afficher un nombre de ligne inconnu à sa création (et variable au cours la vie de l'objet). Pour cela, je pensais pouvoir changer le TableLayout pour y ajouter des lignes et insérer mes objets swing. Le problème est que quand je change le Layout (setLayout(monNouveauLayout)) cela m'efface tous mes objets graphiques.
En cherchant sur google, je n'ai rien trouvé qui interdise de changer un lajout sur un JPanel ...
Voici une version simplifiée de mon code :
Merci de m'aider à trouver une solution à mon problème.
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
20
21
22
23
24
25
26
27
28 public class MonJP extends JPanel { public MonJP() { super(); cols = new double[] { TableLayout.FILL, // 0 TableLayout.FILL, // 1 TableLayout.FILL // 2 }; double[] rows = new double[]{20}; sizes = new double[][] { cols, rows }; setLayout(new TableLayout(sizes)); add(new JLabel("FOO"),"0,0"); //Le programme marche tres bien jusque là rows = new double[]{20,20}; size = new double[][] { cols, rows }; setLayout(new TableLayout(size)); add(new JLabel("BAR"),"0,1"); //Apres execution du code precedent //je n'ai plus aucun objet graphique this.setPreferredSize(new Dimension(500,500)); } }
Pour info, je ne peux pas utiliser de JTable.
Partager