2015-04-09 3 views
2

Je tente d'insérer un JLayeredPane dans JPanel. Lorsque j'insère le JLayeredPane dans le cadre, les composants s'affichent et tout est correct, mais lorsque j'insère le JLayeredPane dans le JPanel, j'insère le JPanel dans le cadre. Il n'affiche pas le JLayeredPane.Ajout d'un JLayeredPane à un JPanel

Mon code:

button1.setBounds(0, 0, 100, 100); 
button2.setBounds(50, 50, 100, 100); 
layer.add(button1,1); 
layer.add(button2,0); 
panel.add(layer); 
this.add(panel); 
this.setVisible(true); 

Répondre

2

insérer le JLayeredPane à la JPanel puis insérez le JPanel au cadre Il ne présente pas le JLayeredPane. Un JPanel utilise un FlowLayout qui respecte la taille préférée de tout composant ajouté à celui-ci.

Un JLayeredPane n'utilise pas de gestionnaire de disposition et, par conséquent, n'a pas de taille préférée, il n'est donc pas affiché sur le panneau.

les composants montrent et tout va bien,

Le cadre qui utilise un BorderLayout. L'emplacement par défaut est le "CENTRE" et le centre dimensionnera le volet en couches en fonction de l'espace disponible dans le cadre.

Il n'y a pas besoin de frais supplémentaires pour ajouter le panneau en couches au panneau, puis le panneau au cadre.

Lisez la section du tutoriel Swing sur How to Use Layered Panes pour plus d'informations et des exemples de travail.

+0

Merci frère, vous l'homme! ;) –