2008-10-22 6 views
2

J'ai un JDialog qui contient une série de JPanels dans un CardLayout. Certains de ces panneaux contiennent JTables que je voudrais être redimensionné en fonction de tout redimensionnement du JDialog. Je ne sais pas comment y parvenir et toute aide serait grandement appréciée. À l'heure actuelle, les tables conservent simplement leur taille actuelle et ne sont pas mises à l'échelle. Je suis sûr que c'est quelque chose de simple mais j'ai du mal à trouver l'approche exacte nécessaire.Redimensionner un JPanel en ligne avec un JDialog

Merci beaucoup à l'avance. Je fournirai plus d'informations si nécessaire.

edit: Le JDialog est utilisé comme un assistant, donc un seul des panneaux est affiché à la fois, d'où l'utilisation de CardLayout. Je voudrais idéalement garder ce gestionnaire de disposition, bien que si c'est la source des problèmes alors évidemment je repenserais!

Répondre

1

Vous pouvez garder le CardLayout, mais vous devez faire ce qui suit: 1. définir la mise en page de votre JDialog BorderLayout, et ajouter une nouvelle JPanel (contentPanel) au JDialog
2. Réglez maintenant cette contentPanel Disposition devant être CardLayout
3. Ajoutez vos autres panneaux à la carte comme requis.
4. Vérifiez également les dispositions que vous utilisez sur chacun des panneaux que vous ajoutez au CardLayout. Par défaut JPanel utilise FlowLayout, je pense, et ce n'est pas idéal pour un JTable. Donc, vous pourriez avoir besoin de jouer avec la disposition du panneau contenant la table aussi; essayez BoxLayout ou BorderLayout pour cela aussi.

Questions connexes