2012-02-20 3 views
0

J'ai un panneau qui est un contentPane d'un JDialog. Ce panneau est divisé horizontalement en deux parties. UpperHalfPanel et LowerHalfPanel par:MigLayout 50% largeur

Panel.add("UpperHalfPanel", "wrap"); 
Panel.add("LowerHalfPanel"); 

Le LowerHalfPanel est divisé verticalement en deux parties. LowerHalfLeftPanel et LowerHalfRightPanel.

Maintenant, la taille du UpperHalfPanel est déterminé par le nombre de colonnes d'une JTextField et je trouve un moyen de faire la LowerHalfLeftPanel et LowerHalfRightPanel remplir 50% de la largeur de LowerHalfPanel.

En bref, il peut être décrit comme un tableau avec deux rangées et la rangée du bas a deux colonnes égales.

Répondre

2

Peut-être que vous êtes à la recherche de split/span. Sans plus d'un exemple de code, c'est difficile à dire. Beaucoup de fois je trouve que MigLayout rend les panneaux imbriqués inutiles. Si vous venez avec un exemple court simple ou même une image fictive, cela aiderait.

On dirait que vous voulez ceci:

JPanel outerPanel = new JPanel(new MigLayout()); 
JPanel upperPanel = new JPanel(); 
JPanel lowerLeftPanel = new JPanel(); 
JPanel lowerRightPanel = new JPanel(); 

outerPanel.add(upperPanel, "span 2, wrap"); 
outerPanel.add(lowerLeftPanel); 
outerPanel.add(lowerRightPanel); 

Il sera portée panneau supérieur 2 « cellules » et en bas à gauche et à droite être également divisée en dessous en fonction du contenu de ces panneaux. Il existe des moyens de forcer la taille, comme le "!" ou "wmin". Essayez le swing demo, allez à la section span. Un clic droit sur les zones vous permettra d'expérimenter avec les contraintes. Voir également MigLayout cheat sheet.

+0

Merci beaucoup ... –

+0

Existe-t-il une plage pour les cellules verticales? – Kieveli

+0

@Kieveli: Vous pouvez ajouter 'flowy' ou 'flowx' pour indiquer sur un composant que le composant suivant sera placé verticalement ou horizontalement. Il est par défaut de flowx. J'aime ton style btw. – Kieveli

Questions connexes