2010-04-14 7 views
0

Ok, donc je me suis passé les cheveux dessus toute la journée. Je ne peux pas redimensionner mes panneaux. J'ajoute un panneau à tout .. un cadre, un volet de contenu, et il ne va pas .. "forcer" setBounds pour une raison étrange.Swing Panel Question

Container pane = window.getContentPane(); 
JPanel calendarPanel = new JPanel(); 
pane.add(calendarPanel); 
calendarPanel.setBounds(0,0, 320, 335); 

notez que la fenêtre est de JFrame. Toute suggestion pour dimensionner un panel serait appréciée!

Répondre

2

Si ce n'est pas déjà fait, il semble que vous ayez besoin de regarder layout managers. Certains gestionnaires de mise en page respectent les tailles de composants demandées ou préférées, d'autres non.

Par défaut, un JFrame utilise le BorderLayout comme gestionnaire de disposition. Lorsque vous ajoutez votre panneau de calendrier ci-dessus sans fournir de contraintes, il suppose que vous souhaitez centrer le panneau. Tout ce qui est centré dans un BorderLayout prend tout l'espace disponible, peu importe ce que vous définissez les limites du composant.

Pour une solution immédiate à votre problème, définissez le gestionnaire de mise en page à null:

Container pane = window.getContentPane(); 
pane.setLayout(null); 
1

Avez-vous réglé la mise en page du composant parent? Je pense que le FlowLayout laisse le panneau à sa taille naturelle.

component.setLayout(new java.awt.FlowLayout()); 

EDIT: voir le poste de Ash