в разгаре, компоненты компоновки, которые имеют разную высоту - PullRequest
0 голосов
/ 20 июля 2011

У нас есть компоненты, которые имеют разную высоту, мы хотим показать их так, чтобы по вертикали было как можно меньше места (как показано на рисунке), как мы можем сделать это с помощью miglayout?

components to be oriented

1 Ответ

3 голосов
/ 20 июля 2011

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

Я вижу три подхода:

1) Используйте 5 jpanels, по одному для каждого столбца, и просто используйте flowy в MigLayout для каждого столбца

2) Настройте матрицу и назначьте каждому компоненту количество ячеек

p.add(component1, "cell 0 0 1 1");
p.add(component2, "cell 1 0 1 2");

и т. Д. Это работает, если довольно хорошо, если у вас нет много разных конечных точек в каждом столбце

"span" может быть немного чище здесь:

p.add(component1, "spany 1");
p.add(component2, "spany 2");
p.add(component3, "spany 1");
p.add(component4, "spany 3");
p.add(component5, "spany 1, wrap");

3) Используйте "nogrid" и просто установите границы размера для каждого компонента

...