Я пытаюсь создать макет, который будет выглядеть как:Как ... с MigLayout
+---+--------+---+
| | | |
| | | |
+---+ +---+
| | | |
| | | |
+---+--------+---+
Центральной ячейка должна быть вдвое шире, чем другие. Я пытаюсь добиться этого с таким кодом:
val panel = new JPanel(new MigLayout("debug", "grow","grow"))
panel.add(new JPanel)
panel.add(new JPanel, "span 2 2")
panel.add(new JPanel, "wrap")
panel.add(new JPanel)
panel.add(new JPanel)
Но в результате все мои клетки имеют одинаковую ширину:
+----+----+----+
| | | |
| | | |
+----+ +----+
| | | |
| | | |
+----+----+----+
Что я делаю не так? Я использую Scala, но я не думаю, что проблема здесь.
ОБНОВЛЕНИЕ Возможно, кто-то может объяснить, почему это не сработало. Даже если я пытаюсь воспроизвести пример из QuickStart руководства он не работает:
alt text http://www.freeimagehosting.net/uploads/d306693273.png
Моего код:
val panel = new JPanel(new MigLayout("debug", "grow","grow"))
wrapTab.add(new JPanel)
wrapTab.add(new JPanel, "span 2 2")
wrapTab.add(new JPanel, "wrap")
wrapTab.add(new JPanel)
wrapTab.add(new JPanel, "wrap")
wrapTab.add(new JPanel)
wrapTab.add(new JPanel)
И как результат всех перевалов имеют одинаковые размеры.
Не могли бы вы объяснить, пожалуйста. И почему мой метод не сработал? Я использую руководство QuickStart, и мой пример очень похож на один из примеров. – aindl
@masterzim: Я предполагаю, что когда вы закончили вставлять вещи, «MigLayout» посмотрел, что было вставлено, и решил, что на самом деле было всего три столбца, поэтому он решил весить эти 3 столбца одинаково. (Я мог ошибаться в этой логике. Я никогда раньше не использовал «MigLayout», и редко когда-либо писал программы с графическим интерфейсом, я просто просмотрел все руководство по быстрому началу работы и решил попробовать другую стратегию, чем ваша. проверил мое решение, поэтому я знаю, что он работает.) –
Для записи: Столбцы не обязательно имеют одинаковую ширину, два растянутых столбца были заданы на половину ширины других столбцов, потому что они имели половину содержимого. Исходная попытка работала бы в макете, где были строки выше/ниже охватывающего компонента. –