Помогите с проблемным макетом используя MigLayout - PullRequest
2 голосов
/ 06 мая 2011

Я пытался выровнять некоторые объекты в своем Java-проекте определенным образом, но безуспешно.Я использую MigLayout для макета, и я бы хотел, чтобы он выглядел так:

Desired layout

  1. Боковая панель должна иметь статическую ширину (220 пикселей) и быть пристыкованной слева.
  2. Правая колонка должна иметь ширину жидкости и расширяться в соответствии с размером окна.
  3. Нижний колонтитул должен быть пристыкован к нижней части и иметь статическую высоту, ширину жидкости.

Вот код, который я получил сейчас:

this.setLayout(new MigLayout("fill, wrap 2", "[30%][70%]", "grow"));

this.add(sourceList, "w 30%");
this.add(listView, "w 70%");
this.add(bottomBar.getComponent(), "growx, push, span");

Я пытался понять инструкции по использованию, но их трудно понять.Я надеялся, что кто-то здесь знает о работе с MigLayout и сможет мне помочь.

1 Ответ

4 голосов
/ 06 мая 2011

Я использую WindowBuilder Pro , который очень помогает в их построении.Это бесплатно и поддерживает MigLayout.

Выполнение того, что вы только что описали в нем, дает мне:

setLayout(new MigLayout("", "[220][grow]", "[grow][]"));
add(sidebar, "cell 0 0,grow");
add(main, "cell 1 0,grow");
add(bottom, "cell 0 1 2 1,grow");

При этом на боковой панели фиксируется фиксированный 220 (из спецификации столбца в конструкторе).и дно на статической высоте с предпочтительным размером.Ширина столбца 2 и высота столбца 1 будут увеличиваться для заполнения, равно как и компоненты в каждой ячейке.

...