FlowLayout 클래스

FlowLayout 클래스

FlowLayout은 컴포넌트를 방향성 있는 흐름으로 배치하는 레이아웃이에요. 마치 단락 안의 텍스트 줄처럼, 한 줄에 공간이 없으면 다음 줄로 넘어가요. 흐름 방향은 컨테이너의 componentOrientation 속성으로 결정되며 ComponentOrientation.LEFT_TO_RIGHT 또는 ComponentOrientation.RIGHT_TO_LEFT 두 값 중 하나예요.

출처: Java API Reference

본문

흐름 레이아웃은 보통 패널 안에 버튼을 배치할 때 사용해요. 버튼을 가로로 배치하다가 같은 줄에 더 들어갈 공간이 없으면 다음 줄로 넘깁니다. 줄 정렬은 align 속성으로 결정돼요.

public class FlowLayout
extends Object
implements LayoutManager, Serializable

정렬 값

  • LEFT — 왼쪽 정렬
  • RIGHT — 오른쪽 정렬
  • CENTER — 가운데 정렬 (기본값)
  • LEADING — 시작 방향 정렬 (LEFT_TO_RIGHT면 왼쪽)
  • TRAILING — 끝 방향 정렬

예제 코드

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

public class myButtons extends Applet {
    Button button1, button2, button3;
    public void init() {
        button1 = new Button("Ok");
        button2 = new Button("Open");
        button3 = new Button("Close");
        add(button1);
        add(button2);
        add(button3);
    }
}

위 예제처럼 세 개의 버튼을 추가하면 패널의 기본 흐름 레이아웃에 따라 왼쪽에서 오른쪽으로 나란히 배치되고, 공간이 부족하면 다음 줄로 넘어가요.

배치 규칙

  • FlowLayout은 각 컴포넌트가 자연스러운(선호하는) 크기를 유지하게 해요.
  • 생성자에서 FlowLayout(int align), FlowLayout(int align, int hgap, int vgap)처럼 정렬과 간격을 지정할 수 있어요.
  • 기본 간격은 가로·세로 5픽셀이에요.
  • 컴포넌트가 컨테이너보다 넓으면 남은 줄에서 가운데 정렬돼요.

더 알아보기