FlowLayout활용
JFrame은 java swing 클래스의 일부이며 구현되는 하나의 창이다.
Swing은 자바에서 그래픽 사용자 인터페이스를 구현하기 위하여 제공되는 클래스이다.
또한 버튼, 창, 표, 트리 등의 컴포넌트들을 이용할 수 있게 해주는 클래스 이다.
사용할 컴포넌트를 멤버 변수에 선언을 해준다.
그리고나서 메소드를 두개로 나누어 보기 쉽게 분리를 해준다.
FlowLayout은 컴포넌트들이 추가되는 순서에 따라 왼쪽에서 오른쪽으로 이어져나가며, 공간이 부족하면, 아랫줄에 추가된다.
이것은 마치 글자를 입력하면 왼쪽에서 오른쪽으로 진행해 나가며, 한 라인의 끝에 다다르면, 다음 라인의 처음부터 글자가 입력되는 워드프로세서에서의 문자입력과 매우 유사하다.
또한 컴포넌트의 정렬에 있어서도 워드프로세서에서와 같이 왼쪽 정렬, 오른쪽 정렬, 그리고 가운데 정렬이 가능하다.
Frame의 크기를 변경함에 따라 컴포넌트들의 배치가 달라지는 것을 볼 수 있다. 컴포너트들이 추가된 순서와 Frame의 크기를 늘렸을 때와 줄였을 때의 컴포넌트들의 달라진 배치를 유심히 봐야한다.
setTitle : 프레임 타이틀 (제목)
setSize(width, heigh) : 프레임의 크기를 가로, 세로를 설정을 할 수 가있다.
setDefaultCloseOperation : 프레임을 종료시 프로그램을 종료를 시켜준다.
setVisible(true / false) : 프로그램 실행시 true이면 화면에 프레임을 보여준다, false화면에 프페임을 보이지 않게 해준다.
setLayout(레이아웃) : 어떤 레이아웃을 사용할것인지 셋팅을 해준다. -- 배치관리자 설정
add() : 컴포넌트를 추가해서 배치를 해준다.
package practice;
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
public class FlowLayout1 extends JFrame {
private JButton button1;
private JButton button2;
private JButton button3;
private FlowLayout flowLayout;
public FlowLayout1() {
initData();
setInitLayout();
}
private void initData() {
setTitle("FlowLayout연습"); // 프레임 타이틀 (제목)
setSize(700, 500); // 프레임 크기
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 프레임창을 닫으면 프로그램 종료
button1 = new JButton("button1");
button2 = new JButton("button2");
button3 = new JButton("button3");
flowLayout = new FlowLayout(FlowLayout.LEFT, 30, 100); // x좌표 : 버튼의 간격 30, y좌료 : 100간격
}
private void setInitLayout() {
setVisible(true); // 프레임을 화면에 출력
setLayout(flowLayout); // 배치관리자 설정
add(button1);
add(button2);
add(button3);
}
public static void main(String[] args) {
new FlowLayout1();
}
}