MigLayout 은 그리드 기반이지만 도킹 및 그룹화를 지원합니다. 열, 행, 머리글을 사용하여 열, 행을 삽입 또는 삭제하고 열과 행 속성을 변경합니다.

MigLayout은 다음과 같은 기능을 제공합니다.

  1. 열 / 행의 구성 요소의 기본 정렬입니다.
  2. 최소 및 최대 열 너비 또는 행 높이 지정.
  3. LogicalPixel, Pixel, Point, Millimeter, Centimeter, Inch, Percent 및 ScreenPercent 등 다양한 단위를 지원합니다.
    특히 LogicalPixel 단위는 화면 해상도와 함께 확장 가능한 레이아웃을 만드는 데 매우 유용합니다.
  4. 열, 행 및 구성 요소 사이의 간격
  5. In-Cell Flow 는 하나 이상의 구성 요소를 단일 격자 셀에 넣을 수있습니다.
  6. 구성 요소 를 컨테이너의 가장자리에 도킹할 수 있습니다.
  7. 기준선 지원.


// ex.1)
import java.awt.Container;
import javax.swing.JFrame;
import javax.swing.JLabel;
import net.miginfocom.swing.MigLayout;
 
public class Ex07 extends JFrame{
    Container c = getContentPane();
    private JLabel label1, label2, label3, label4; 
             
    public Ex07() {
        // 가로 방향 3행, 세로 방향 2행을 만듭니다.
        c.setLayout(new MigLayout("", "[][][]", "[][]"));
         
        // 가로 방향 1번 레이블
        label1 = new JLabel("label 1");
        c.add(label1, "cell 0 0");
        // 가로 방향 2번 레이블
        label2 = new JLabel("label 2");
        c.add(label2, "cell 1 0");
        // 가로 방향 3번 레이블
        label3 = new JLabel("label 3");
        c.add(label3, "cell 2 0");
        // 세로 방향 1번 레이블
        label4 = new JLabel("label 4");
        c.add(label4, "cell 0 1");
         
         
         
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(300, 300);
    }
    public static void main(String[] args) {
        new Ex07();
    }
}

아래는 결과 화면입니다.


0 댓글