私はMigLayoutが初めてです。私はこれに似たレイアウトを作成しようとしています:
等間隔のボタンの行があり、その後にすべての列にまたがるリストの行が続き、利用可能な垂直方向のスペースを埋めるように拡大し、さらにいくつかのコントロールを含む最後の行が続きます.
最初の 2 行は問題なく取得できます。
ただし、最後の行のコンテンツを追加すると、MigLayout は (当然のことながら) 最初の 2 行の列を保持しようとします。私はこのようなものを残しています:
最後の行のラベルとスピナーは列の幅を拡張し、一番上の行に不均一なギャップが残ります。
これまでに確立された行/列を忘れて「最初からやり直す」ことを MigLayout に伝える方法はありますか、それともネストされたレイアウトを作成するための解決策はありますか?
これが完全な例のパネルです。
public class TestPanel extends JPanel {
JButton button1 = new JButton("Button 1");
JButton button2 = new JButton("Button 2");
JButton button3 = new JButton("Button 3");
JButton button4 = new JButton("Button 4");
JButton button5 = new JButton("Button 5");
JList list = new JList(new String[]{"some", "fake", "data"});
JLabel label = new JLabel("this is my long label");
JSpinner spinner = new JSpinner();
JCheckBox checkbox = new JCheckBox("Check me");
public TestPanel() {
initComponents();
}
private void initComponents() {
setLayout(new MigLayout());
add(button1);
add(button2);
add(button3);
add(button4);
add(button5, "wrap");
add(list, "span, growx, growy, wrap");
// without these 3 lines, the row of buttons are equally spaced
// adding the long label extends the width of the first column
add(label);
add(spinner);
add(checkbox, "span, align right");
}
}