반응형

자바에서 사용할 수 있는 GUI 객체는 AWT(Abstract Windows Toolkit)과 스윙(Swing)으로 구분됩니다.

 

AWT는 운영 체제가 제공하는 자원을 이용하여 컴포넌트를 생성하게 되는데 예를들어 윈도우 환경에서 개발을 진행하고 있으면 GUI는 윈도우 기반의 자원을 사용하여 윈도우에 사용되는 아이콘의 모형이나 프레임을 사용할 수 있게 됩니다.

따라서, 여러 플랫폼에서 쉽게 컴포넌트를 제공할 수 있는 장점이 있지만 컴포넌트가 플랫폼에 종속적이므로 실행되는 플랫폼에 따라 컴포넌트의 모습이 달라질 수 있습니다.

 

스윙은 컴포넌트가 자바로 작성되어 있기 때문에 어떤 플랫폼에서도 일관된 화면을 보여줄 수 있게 됩니다.

 

그럼 스윙 기반으로 내용을 시작해보도록 하겠습니다.

import javax.swing.*;
public class FrameTest {
	public static void main(String[] args) {
		JFrame f = new JFrame("Frame Test");
		f.setSize(300, 200);
		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		f.setVisible(true);
	}

}

우선 클래스를 생성한 후 위의 소스코드를 입력하면 다음과 같이 프레임을 출력하는 결과를 확인할 수 있습니다.

그럼 이제 코드 내용을 자세히 살펴보겠습니다.

 

import javax.swing.*;

스윙 클래스들은 javax.swing 패키지 안에 들어있습니다. 여기서 javax는 자바 확장 패키지(Java Extension Package)를 의미하고 따라서 스윙을 사용하려면 반드시 javax.swing 패키지를 포함해야 합니다.

 

JFrame f = new JFrame("Frame Test");

메인문 안에서 new연산자를 이용해 JFrame 객체를 생성합니다. JFrame 클래스 생성자의 매개변수는 프레임의 제목입니다(Frame Test). 결과적으로 참조변수 f가 생성된 객체를 가리키게 됩니다.

 

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

사용자가 프레임의 오른쪽 상단에 있는 close 버튼을 눌렀을 경우에 어떠한 동작을 취할지 설정합니다. 기본 설정은 close 버튼을 누를 경우 현재 프레임만 닫히고 프로그램을 종료하지는 않습니다. 우리는 close버튼을 누를 경우 전체 프로그램을 종료하도록 설정하였습니다.

 

f.setVisible(true);

마지막 문장은 setvisible(true)을 호출합니다. 이것은 프레임을 화면에 나타내게 만듭니다. 만약 이 문장이 없다면 프레임은 생성되지만 사용사는 볼 수 없습니다. 이렇게 하는 이유는 화면에 프레임이 나타나지 않은 상태에서 다른 컴포넌트를 추가하기 위함입니다.

 

 

반응형

+ Recent posts