簡體   English   中英

在MigLayout中拆分單元格時如何零間隙?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM