MigLayout 50% ширина - PullRequest
       7

MigLayout 50% ширина

0 голосов
/ 20 февраля 2012

У меня есть панель, которая является областью содержимого JDialog. Эта панель разделена по горизонтали на две части. UpperHalfPanel и LowerHalfPanel по:

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

LowerHalfPanel разделен по вертикали на две части. LowerHalfLeftPanel и LowerHalfRightPanel.

Теперь размер UpperHalfPanel определяется числом столбцов JTextField, и я нахожу способ заставить LowerHalfLeftPanel и LowerHalfRightPanel заполнить 50% ширины LowerHalfPanel.

Вкратце это можно описать как таблицу с двумя рядами, а нижний ряд имеет два одинаковых столбца.

1 Ответ

2 голосов
/ 28 февраля 2012

Может быть, вы ищете split / span. Без примера кода сложно сказать. Много раз я нахожу, что MigLayout делает ненужными вложенные панели. Если вы предложите простой короткий пример или даже ложное изображение, это поможет.

Звучит так, как вы хотите:

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);

Это позволит разделить верхнюю панель на 2 ячейки, а левую и правую нижнюю - равномерно разделить под ней в зависимости от содержимого этих панелей. Есть способы форсировать размер, такие как "!" или "Wmin". Попробуйте демонстрацию swing , перейдите в раздел span. Щелчок правой кнопкой мыши по областям позволит вам поэкспериментировать с ограничениями. Также см. Шпаргалку MigLayout .

...