[英]How to have zero gap when splitting cells in MigLayout?
以下代碼
public class JSplitGap extends JPanel {
{
setLayout(new MigLayout());
}
{
JButton ans = new JButton("Button 1");
add(ans, "split 2");
}
{
JButton ans = new JButton("Button 2");
add(ans, "");
}
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setContentPane(new JSplitGap());
//frame.setSize(1024, 768);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
給出以下
即按鈕之間有一些間隙。
雖然說
split [count]將單元格拆分為多個子單元格。 實際上,這意味着下一個計數組件將被放置在同一單元格中,彼此之間沒有間隙。 只有單元格中的第一個組件可以設置拆分,單元格中任何后續的split關鍵字都將被忽略。 如果未指定count,則默認為infinite,這意味着單獨進行拆分將把所有即將出現的組件放在同一單元格中。 “拆分”,“換行”或“換行”將脫離拆分單元格。 后兩個將照常移動到新的行/列。 注意! 如果拆分,“跳過”將跳過,並在下一個單元格中繼續。 示例:“拆分”或“拆分4”。
在文檔中 。
這里有什么問題以及如何解決?
嘗試這個
setLayout(new MigLayout("gap rel 0", "grow"));
您可以使用gapx
組件約束在按鈕之間設置間隙:
package com.zetcode;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
import net.miginfocom.swing.MigLayout;
public class MigLayoutSplitGapEx extends JFrame {
public MigLayoutSplitGapEx() {
initUI();
}
private void initUI() {
setLayout(new MigLayout());
JButton ans = new JButton("Button 1");
add(ans, "split 2");
JButton ans2 = new JButton("Button 2");
add(ans2, "gapx 0");
pack();
setTitle("MigLayout split gap");
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
MigLayoutSplitGapEx ex = new MigLayoutSplitGapEx();
ex.setVisible(true);
});
}
}
這是屏幕截圖:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.