Qu'est-ce que je fais mal? layers
est un JPanel. J'essaye d'ajouter le JLabel ci-dessous au JPanel
, mais rien ne se produit. J'ai essayé d'ajouter repaint()
au panneau mais cela ne fait rien non plus. Qu'est-ce que je ne fais pas?JLabel n'est pas ajouté à un JPanel
JLabel lbl = new JLabel();
lbl.setText("Layer " + numLayers);
lbl.setFont(new Font("Verdana", 0, 12));
lbl.setVerticalTextPosition(1);
lbl.setPreferredSize(new Dimension(200, 100));
lbl.setVisible(true);
layers.add(lbl);
Est-ce que cela se produise lors de l'exécution? Si oui, appelez-vous 'revalidate()' puis 'repaint()' sur le JPanel après avoir ajouté l'étiquette? De plus, quel gestionnaire de disposition utilise JPanel? –
'revalidate()' a résolu le problème. –
Eh bien, voilà! La raison pour laquelle cela fonctionne: revalidate indique aux gestionnaires de disposition d'accepter les nouveaux composants (ou les composants supprimés) et re-mise en page tous les composants. –