GridLayout 클래스

GridLayout 클래스

GridLayout 클래스는 컨테이너의 컴포넌트를 사각형 그리드로 배치하는 레이아웃 관리자예요. 컨테이너는 동일한 크기의 사각형으로 나뉘고, 각 사각형에 컴포넌트 하나가 배치돼요.

출처: Java API Reference

본문

예를 들어 다음은 여섯 개의 버튼을 3행×2열로 배치하는 애플릿이에요.

import java.awt.*;
import java.applet.Applet;

public class ButtonGrid extends Applet {
    public void init() {
        setLayout(new GridLayout(3,2));
        add(new Button("1"));
        add(new Button("2"));
        add(new Button("3"));
        add(new Button("4"));
        add(new Button("5"));
        add(new Button("6"));
    }
}

컨테이너의 ComponentOrientation이 가로 왼쪽→오른쪽이면 컴포넌트가 왼쪽에서 오른쪽으로, 오른쪽→왼쪽이면 반대 방향으로 배치돼요.

public class GridLayout
extends Object
implements LayoutManager, Serializable

행·열 규칙

생성자나 setRows·setColumns로 행·열이 둘 다 0이 아닌 값으로 설정되면, 지정한 열 수는 무시돼요. 대신 지정한 행 수와 전체 컴포넌트 수에서 열 수를 결정해요. 예를 들어 3행 2열을 지정했는데 9개 컴포넌트가 있으면 3행 3열로 표시돼요. 열 수 지정은 행 수가 0일 때만 레이아웃에 영향을 줘요.

생성자

  • GridLayout() — 기본 간격(0)으로 행 1열의 그리드를 만들어요.
  • GridLayout(int rows, int cols) — 지정한 행·열로 만들어요.
  • GridLayout(int rows, int cols, int hgap, int vgap) — 행·열·간격을 지정해 만들어요.

주요 메서드

  • getRows() / setRows(int) — 행 수를 조회·설정해요.
  • getColumns() / setColumns(int) — 열 수를 조회·설정해요.
  • getHgap() / setHgap(int) / getVgap() / setVgap(int) — 간격을 조회·설정해요.

그리드의 각 셀은 같은 크기로 균등하게 나뉘므로, 계산기·전화번호 패드처럼 균일한 크기의 버튼 그리드를 만들 때 유용해요.

더 알아보기