본문으로 바로가기

자바 GUI 화면 구성하기

category 프로그래밍 스터디/Java 2017. 2. 15. 01:55
반응형

GUI 폼을 띄우는 법은 알아봤고, 이제 화면을 어떻게 구성할 수 있는지 알아보자.


1. 레이아웃 매니저 (aka 배치관리자)

UI 프로그래밍을 조금 더 편하게 해주는 방법이다. 원하는 컴포넌트를 추가하면 미리 정해진 방법으로 화면 안에 자동으로 정렬된다.

자바 튜토리얼에서 설명하고 있는 레이아웃 방식은 총 8가지이다.  BorderLayout, BoxLayout, CardLayout, FlowLayout, GridBagLayout, GridLayout, GroupLayout, SpringLayout

자세한 설명은 The Java™ Tutorials, '자바킹'님의 블로그 를 참고한다. Swing 기준이지만 awt에도 적용할 수 있다.


내가 테스트했던 코드 (FlowLayout)는 아래에.

import java.awt.*;

public class testprj {
	Frame frame = new Frame("프레임 이름");
	Button button1 = new Button("버튼1");
	Button button2 = new Button("버튼2");
	Button button3 = new Button("버튼3");
	FlowLayout flow = new FlowLayout(); // Layout Manager
	
	public void createFrame()
	{
		//프레임 크기 지정
		frame.setSize(400, 400);
		
                //프레임에 컴포넌트 추가
		frame.add(button1);
		frame.add(button2);
		frame.add(button3);
		
                // 레이아웃 세팅
		frame.setLayout(flow);
		
                //프레임 보이기
		frame.setVisible(true);
	}

	public static void main(String[] args) {
		testprj frm = new testprj();
		frm.createFrame();
    }
}



2. 손으로 일일이

컴포넌트의 위치와 크기를 일일이 지정해준다. 마음대로 만들 수 있지만 시간도 오래 걸릴 뿐만 아니라 크기 조절에 대응하는것도 어렵다.

import java.awt.*;

public class main {
	Frame frame = new Frame("프레임 이름");
	
	TextField txt = new TextField("텍스트내용");
	Label lbl = new Label("테스트레이블");
	Button btn = new Button("테스트버튼");
	
	public void createFrame()
	{
		//레이아웃을 사용하지 않음
		frame.setLayout(null);
		
		//프레임 크기 지정
		frame.setSize(400, 400);
		
		//컴포넌트 크기, 위치 설정
		lbl.setBounds(10,30,100,40); // x좌표,y좌표,너비,높이
		txt.setBounds(10,70,100,40);
		btn.setBounds(60,140,100,40);
		
		//프레임에 컴포넌트 추가
		frame.add(lbl);
		frame.add(txt);
		frame.add(btn);

		//프레임 보이기
		frame.setVisible(true);
	}

	public static void main(String[] args) {
		//프레임 열기
		main frm = new main();
		frm.createFrame();
       }
}


3. WindowBuilder 이용하기

WindowBuilder는 원래 SWT와 Swing을 이용해 개발할 때 사용할 수 있는 GUI 툴이지만 AWT에서도 사용할 수 있다.

먼저 이클립스 메뉴에서 Help > Eclipse Marketplace 로 들어가서 WindowBuilder를 검색한 뒤 Install을 눌러 설치한다.

Install을 누르면 뜨는 설치 창에서 org.eclipse.wb.rcp.SWT_AWT_support 는 꼭 체크가 되어 있어야 AWT에서 이용할 수 있으니 주의.


* 이유는 모르겠지만 오류가 나면서 설치가 안되고 있다. 나중에 다시 시도해보고 내용 추가 예정

반응형

'프로그래밍 스터디 > Java' 카테고리의 다른 글

자바 GUI에 데이터베이스 연동하기  (0) 2017.02.15
자바 GUI 개발하기  (0) 2017.02.15
자바에서 MySQL 사용하기  (0) 2017.02.14
자바 공부 시작  (0) 2017.02.14