Я тестирую MigLayout для проекта и, похоже, не могу понять, как MigLayout контролирует размер всей разрабатываемой панели. Я адаптирую пример в MigLayout . Кроме того, я пишу на Python и использую Jython, а не на Java. Тем не менее, вот мой текущий код.
layout = MigLayout("fillx",
# Column constraints
"[right]rel[grow,fill]",
# Row constraints
"[]10[]10[]")
panel = JPanel(layout)
panel.add(JLabel("Enter size:"),
"")
panel.add(JTextField(""),
"wrap, width 150:250")
panel.add(JLabel("Enter weight:"),
"")
panel.add(JTextField(""),
"wrap, width 150:250")
panel.add(JButton("Ok"),
"span 2, align center, width 100:150")
Затем панель переходит в JFrame для отображения. Когда я изменяю размер кадра, элементы управления изменяют размер красиво и подчиняются своим минимальным размерам. Однако минимального размера рамки нет, и, похоже, нет никакого способа добраться до реального минимального размера панели, чтобы установить ее для рамки. При запросе минимального размера панели возвращается размер, который при установке на рамку (плюс вставки) обрезает кнопку и половину текстовых полей.
То, что я хочу, это иметь возможность установить минимальный размер для рамки (не жестко закодированный!) Так, чтобы панель подходила и ни один из ее элементов управления не был обрезан. Каков наилучший способ сделать это?