
1. 자바 GUI (Graphical User Interface) 란?
* 그래픽을 사용하여 사용자와 상호작용할 수 있는 프로그램 인터페이스를 구현하는 기술 * GUI는 객체로 만들어지는데, 이 객체를 GUI 컴포넌트, 위젯, 컨트롤이라고 한다. * GUI 컴포넌트 - 버튼, 텍스트 필드, 체크박스, 콤보박스, 드롭다운 등
컴포넌트 : 실제로 보여지는 UI 요소들
2. AWT란?
자바의 초기 GUI 라이브러리로 운영체제가 제공하는 자원을 이용하여 컴포넌트를 생성한다. 그래서 외관이 운영 체제에 따라 다를 수 있다. * AWT는 자바의 기본 라이브러리로 포함되어 있어 별도의 설치가 필요하지 않음.
3. Swing이란?
자바에선 스윙에 속하는 클래스 이름 앞에 ‘J’를 붙인다.
ex) AWT - Button / Swing - JButton
4. 컨테이너 컴포넌트
다른 컴포넌트들을 내부에 넣을 수 있는 컴포넌트 컨테이너 컴포넌트는 여러 개의 자식 컴포넌트를 가질 수 있으며, 이를 통해 복잡한 UI를 구성. * GUI 화면은 먼저 컨테이너를 만들고, 그 안에 자신이 필요한 컴포넌트를 넣어서 작성함.

[컨테이너 컴포넌트]
JFrame, JDialog, JPanel, JScrollPane 등
[단순 컴포넌트]
JButton, JLabel, JCheckbox, JChoice, JList, JMenu, JTextField, JScrollbar, JTextArea, JCanvas 등
5. 최상위 컨테이너 컴포넌트
* UI 구성에서 가장 상위에 위치한 컨테이너. 가장 큰 상자. * UI의 전체적인 구조와 레이아웃을 결정하며 UI 디자인의 출발점이자 기반이 된다. * 절대 다른 컨테이너 안에 포함될 수 없는 컨테이너를 의미한다. ex) JFrame, JDialog, JApplet 등
6. 중첩 컨테이너

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