awt, 레이아웃 매니저 BorderLayout, FlowLayout, GridLayout
출처 - https://blog.naver.com/sorkan12/220462450935
1. AWT
- GUI를 위한 도구
- JAVA로 구현하지 않고 OS의 컴포넌트를 사용
2. Swing
- AWT를 확장한 GUI 프로그래밍 도구
- OS의 컴포넌트를 사용하지 않고, 순수 JAVA로 구현
AWT는 OS의 컴포넌트를 사용하기에 종속적다. 그래서 한계가 있다.
Swing은 JAVA로 만들었기에 100%컨트롤이 가능하지만 기능이 많아 어렵다.
AWT - Frame - Layout 구성
Swing - JFrame - Container - Layout 구성
--------------------------------------------------------------
AWT 레이아웃
1. BorderLayout
- 5개 영역으로 분할, 각 영역당 하나의 컴포넌트
- 한 영역에 여러 컴포넌트를 넣으려면 Panel 사용
- 디폴트
생성자
BorderLayout(int hgap, int vgap)
- hgap : 좌우 영역 사이 간격
- vgap : 위아래 영역 사이의 간격
BorderLayout() - 영역 사이에 간격이 없는 BorderLayout
메소드
add(위치, 컴포넌트) ex) add("North", "abcd");
2. FlowLayout
- 컴포넌트를 왼쪽에서 오른쪽으로 배치
- 3가지 정렬방식 가능(왼쪽, 가운데, 오른쪽)
생성자
FlowLayout(int align, int hgap, int vgap)
- align : 컴포넌트 정렬 방법 FlowLayout.LEFT / FlowLayout.CENTER / FlowLayout.RIGHT
- hgap : 좌우 영역 사이 간격
- vgap : 위아래 영역 사이의 간격
FlowLayout(int align) - hgap과 vgap이 5인 FlowLayout
FlowLayout() - 가운데 정렬이면서 hgap과 vgap이 5인 FlowLayout
3. GridLayout
- 컴포넌트를 왼쪽에서 오른쪽으로 배치
- 3가지 정렬방식 가능(왼쪽, 가운데, 오른쪽)
생성자
GridLayout(int row, int col, int hgap, int vgap)
- row : 행 구분
- col : 열 구분
- hgap : 좌우 영역 사이 간격
- vgap : 위아래 영역 사이의 간격
GridLayout(int row, int col)
- row : 행 구분
- col : 열 구분