我正在使用MigLayout將組件添加到Java中的JPanel。 我的問題是,儘管在單元約束中添加了「換行」,但它並不一致。一些組件包裝,有些則不包含 - 在圖像中特別註明最後一行(應該是2行)。MigLayout「包裝」行爲不一致
JPanel panel = new JPanel(new MigLayout("gap 0, insets 0", "",""));
JButton delete = new JButton("Delete");
JButton zoomSel = new JButton("Zoom Sel");
JButton zoomReset = new JButton("Zoom Reset");
panel.add(delete, "span 2 2, grow");
panel.add(zoomSel, "spanx 2, growx, wrap");
panel.add(zoomReset,"growx,wrap 5");
JButton cut = new JButton("Cut");
JButton copy = new JButton("Copy");
JButton paste = new JButton("Paste");
JButton loopSelRgn = new JButton("Loop Sel. Rgns");
JButton selRgnRow = new JButton("Sel Rgns Row");
panel.add(cut);
panel.add(copy);
panel.add(loopSelRgn, "spanx 2, growx, wrap");
panel.add(paste, "spanx 2, growx");
panel.add(selRgnRow, "spanx 2,growx,wrap 5");
JButton duplicate = new JButton("Duplicate");
JButton selectAll = new JButton("Select All");
JButton mute = new JButton("Mute");
JButton shift = new JButton("Shift");
panel.add(duplicate, "span 2 2, grow");
panel.add(selectAll, "span 2 2, grow, wrap");
panel.add(mute, "spanx 2, growx");
panel.add(shift, "spanx 2, growx");
編輯:謝謝大家對自己的答案,雖然我的解決辦法是改用比例限制設定的高度,而不是依靠跨度。這似乎解決了纏繞的怪異問題。
好的方向發展,只是一對夫婦的意見:1)「包裝5」有着不同的含義佈局與組件約束:只有前者意味着「在5個單元之後進行包裝」,而後者意味着「用5的行間隙包裝」b)如果包裝在佈局中定義,則通常不需要將它們添加到組件中 – kleopatra
@kleopatra:感謝您的信息,非常感謝!我很新,想要幫忙,因爲10天沒有答案。 – maaartinus