2010-07-30 16 views
2

GirdLayout rend un groupe de composants de taille égale. Cela signifie que le plus gros composant définira la taille de tous les composants. Est-il possible de faire en sorte que la taille de chaque composant soit basée sur leurs composants internes?Est-il possible de rendre les composants de GridLayout inégaux en taille?

EDIT: Si ce n'est pas possible, comment puis-je obtenir le même effet qu'un GridLayout mais avec la taille de chaque composant en fonction de leurs composants internes.

Répondre

4

Non, toutes les cellules sont égales par leur conception.

1

Peut-être qu'un GridBagLayout est ce dont vous avez besoin.

+0

Je veux que la taille de chaque composant soit basée sur ses composants internes. Vous ne pouvez pas faire cela avec un 'GridBagLayout' pouvez-vous? –

+0

En effet, vous ne pouvez pas. Vous vous trompez, il semble. Peut-être qu'une capture d'écran pourrait vous aider à voir ce que vous essayez réellement de faire, mais utiliser un groupLayout peut parfaitement faire ce que vous voulez, mais ce n'est pas si simple d'organiser les composants dans un GroupLayout. Avec GridBagLayout, la conception d'un composant affecte uniquement la colonne et la ligne où le composant est placé. Mais il semble que vous n'ayez pas besoin de quelque chose comme une grille du tout. – crusam

4

Non, vous devrez utiliser un autre gestionnaire de disposition pour cela. GroupLayout serait une option.

+0

J'ai édité mon OP. –

+0

@Gnarly: lisez la section sur la taille et la possibilité de redimensionnement des composants dans le document auquel je suis lié. –

2

Ce n'est pas possible, mais vous pouvez utiliser des composants imbriqués dans chaque cellule. Par exemple, si vous ne souhaitez pas qu'un JButton augmente jusqu'à la taille d'une cellule, ajoutez-le à un Jpanel, puis ajoutez le JPanel à la cellule.