자바 AWT와 Swing: Component 클래스와 LayoutManager

개요

AWT와 Swing은 자바 기반 프로그램의 사용자 인터페이스를 만들기 위한 일부 기능을 제공하는 자바 GUI 라이브러리 입니다. 이 두 가지 라이브러리는 Component 클래스와 LayoutManager을 사용하여 자바 프로그램의 사용자 인터페이스 구성을 간단하게 만들 수 있도록 합니다. 본 글에서는 AWT와 Swing에서 사용하는 Component 클래스와 LayoutManager 에 대해 살펴보겠습니다.

 

자바 AWT와 Swing: Component 클래스와 LayoutManager
-자바림
(위 사진은 내용과 무관함 Pexels 제공 사진)

 

중점내용

1. AWT와 Swing의 차이

AWT(Abstract Window Toolkit)과 Swing은 자바에서 개발할 때 사용하는 그래픽 사용자 인터페이스(GUI)를 만들 수 있는 컴포넌트 라이브러리이다. AWT는 자바의 라이브러리로 제공된 가장 오래된 그래픽 GUI 라이브러리이며, Swing은 AWT보다 많은 기능과 기술을 갖추고 있는 그래픽 GUI 라이브러리이다. 두 라이브러리 모두 Component 클래스와 LayoutManager를 이용해 사용자 인터페이스를 만들 수 있으며, Swing의 경우 더 다양한 LayoutManager를 사용할 수 있다.

 

2. Component 클래스

Component 클래스는 AWT와 Swing 패키지에 포함된 클래스로, 다른 컴포넌트들의 부모 클래스로 사용된다. 그리고 Component 클래스는 컴포넌트의 기본적인 기능과 속성을 제공하는 기본 클래스로 다른 컴포넌트들의 기능을 확장하거나 추가하기 위해 사용된다. 또한 컴포넌트의 색상, 글자크기, 크기, 위치 등을 조절하기 위한 메소드도 제공한다.

 

3. LayoutManager의 역할

LayoutManager는 컴포넌트를 어떻게 배치할지를 결정하는 역할을 합니다. LayoutManager는 컨테이너의 크기나 컨테이너 자신의 크기 등의 여러 요소를 고려하여 컨테이너 내부의 컴포넌트들의 크기, 배열 방식 등을 결정합니다. 자바 AWT와 Swing에서는 각각 BorderLayout, GridLayout, FlowLayout 등 다양한 LayoutManager들을 제공하고 있습니다.

 

4. AWT의 LayoutManager

AWT의 LayoutManager는 각 구성 요소들의 배치를 관리하는 클래스들의 집합입니다. 각각의 LayoutManager는 컨테이너에 배치된 구성 요소들에 대한 레이아웃을 설계하는 데 사용됩니다. 예를 들어, FlowLayout은 컴포넌트들을 한 줄에 배치하고, BoxLayout은 컴포넌트들을 수직 또는 수평 방향으로 배치할 수 있습니다. 또한 GridLayout은 컴포넌트들을 각각의 셀로 나누어 고정된 가로와 세로 길이로 배치할 수 있게 합니다.

 

5. Swing의 LayoutManager

Swing의 LayoutManager는 컴포넌트들을 레이아웃에 따라 적절하게 배치해주는 기능을 수행합니다. 레이아웃 매니저는 컨테이너 객체가 소유하고 있으며, 보통 생성자를 통해 지정해줍니다. 기본적으로 Swing에서 제공하는 5가지의 LayoutManager 들은 FlowLayout, BorderLayout, BoxLayout, GridLayout, GridBagLayout 입니다. 이 LayoutManager들은 자주 사용되고 있으며, 각각 다른 용도로 사용됩니다. 사용자는 이러한 LayoutManager들을 이용해 자신만의 디자인을 만들거나, 이미 만들어진 레이아웃을 가져다 사용할 수 있습니다.

 

자바 AWT와 Swing: Component 클래스와 LayoutManager
2-자바림
(위 사진은 내용과 무관함 Pexels 제공 사진)

 

마침말

자바 AWT와 Swing은 GUI 기반의 개발을 위해 사용되는 라이브러리 중 하나입니다. 두 라이브러리 모두 Component 클래스와 LayoutManager를 사용하여 UI의 레이아웃을 구성합니다. Component 클래스는 사용자 인터페이스 컴포넌트의 기본 클래스로, 버튼, 레이블, 메뉴 등의 기본 컴포넌트를 가지고 있습니다. 반면, LayoutManager는 컴포넌트들을 잘 정렬해 UI를 만들어내기 위해 사용됩니다. AWT와 Swing은 모두 여러가지 유형의 LayoutManager들을 가지고 있습니다. FlowLayout은 컴포넌트들을 가로로 채워가며 추가합니다. GridLayout은 컴포넌트들을 바둑판 모양으로 정렬합니다. BorderLayout은 컴포넌트를 동, 서, 남, 북 방향으로 정렬합니다. CardLayout은 컴포넌트 간의 전환이 가능하게 합니다. 이 모든 LayoutManager들은 자바 AWT와 Swing의 레이아웃을 구성하는데 사용되고 있습니다.

함께 보면 좋은 영상

[자바입문-고급까지]20.AWT(이론설명-1)

[자바입문-고급까지]20.AWT(이론설명-1)