MigLayout 50% ширины

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

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

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

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

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


person Tapas Bose    schedule 20.02.2012    source источник


Ответы (1)


Возможно, вы ищете 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 «ячейки», а нижняя левая и правая будут равномерно разделены под ней в зависимости от содержимого этих панелей. Существуют способы принудительного изменения размера, такие как "!" или "мин". Попробуйте демонстрацию Swing, перейдите в раздел span. Щелчок правой кнопкой мыши по областям позволит вам поэкспериментировать с ограничениями. Также см. памятку MigLayout.

person Jim    schedule 28.02.2012
comment
Есть ли диапазон для вертикальных ячеек? - person Kieveli; 30.08.2013
comment
@Kieveli: вы можете добавить «flowy» или «flowx», чтобы указать на компоненте, что следующий компонент будет размещен вертикально или горизонтально. По умолчанию это поток. Мне нравится твой стиль кстати. - person Kieveli; 30.08.2013
comment
Я думаю, что это будет spany. Но я уже заржавел в Миглаюте. Слишком много веб-разработки выталкивает это из моего мозга, и я (к счастью) оставил Swing позади. - person Jim; 09.09.2013