자바 GUI, 컨테이너

yuzu sim's avatar
Jan 23, 2024
자바 GUI, 컨테이너

1. 자바 GUI (Graphical User Interface) 란?

* 그래픽을 사용하여 사용자와 상호작용할 수 있는 프로그램 인터페이스를 구현하는 기술 * GUI는 객체로 만들어지는데, 이 객체를 GUI 컴포넌트, 위젯, 컨트롤이라고 한다. * GUI 컴포넌트 - 버튼, 텍스트 필드, 체크박스, 콤보박스, 드롭다운 등
💡
컴포넌트 : 실제로 보여지는 UI 요소들

2. AWT란?

자바의 초기 GUI 라이브러리로 운영체제가 제공하는 자원을 이용하여 컴포넌트를 생성한다. 그래서 외관이 운영 체제에 따라 다를 수 있다. * AWT는 자바의 기본 라이브러리로 포함되어 있어 별도의 설치가 필요하지 않음.

3. Swing이란?

자바의 고수준 GUI 라이브러리. (=자바로 작성되어 있음) AWT보다 더 많은 컴포넌트와 기능을 제공하며, 어떤 플랫폼에서도 일관된 외관(화면)을 보여준다.

3-1. 스윙 패키지

  • java.awt - Color나 Point와 같은 유틸리티 타입의 클래스들을 포함한다.
  • java.awt.event - GUI 컴포넌트로부터 발생되는 이벤트 (ex. 버튼 클릭)를 처리하기 위한 클래스와 인터페이스를 가지고 있다.
  • javax.swing - 버튼, 텍스트 필드, 프레임, 패널과 같은 GUI 컴포넌트를 가지고 있다.
 
 
💡
자바에선 스윙에 속하는 클래스 이름 앞에 ‘J’를 붙인다. ex) AWT - Button / Swing - JButton
 

 

4. 컨테이너 컴포넌트

다른 컴포넌트들을 내부에 넣을 수 있는 컴포넌트 컨테이너 컴포넌트는 여러 개의 자식 컴포넌트를 가질 수 있으며, 이를 통해 복잡한 UI를 구성. * GUI 화면은 먼저 컨테이너를 만들고, 그 안에 자신이 필요한 컴포넌트를 넣어서 작성함.
notion image
💡
[컨테이너 컴포넌트] JFrame, JDialog, JPanel, JScrollPane 등
💡
[단순 컴포넌트] JButton, JLabel, JCheckbox, JChoice, JList, JMenu, JTextField, JScrollbar, JTextArea, JCanvas 등
 

5. 최상위 컨테이너 컴포넌트

* UI 구성에서 가장 상위에 위치한 컨테이너. 가장 큰 상자. * UI의 전체적인 구조와 레이아웃을 결정하며 UI 디자인의 출발점이자 기반이 된다. * 절대 다른 컨테이너 안에 포함될 수 없는 컨테이너를 의미한다. ex) JFrame, JDialog, JApplet 등
 

6. 중첩 컨테이너

notion image
💡
컨테이너는 레이아웃을 결정하고, 컴포넌트들을 배치하는 역할을 한다. 이를 통해 사용자에게 보기 좋은 UI를 만들 수 있다. 컨테이너 안에는 컴포넌트뿐만 아니라 다른 컨테이너도 넣을 수 있고, 중첩 컨테이너를 사용하여 복잡한 UI를 구성할 수 있다.
 
Share article

Coding_study