본문 바로가기
안 씀/java-개념

GUI

by unhyepnhj 2024. 6. 27.

GUI 응용프로그램

- GUI: Graphical User Interface

- 이미지 or 그래픽을 이용하여 메뉴 등을 포함하는 화면을 구성

- 키보드 외 마우스 등의 입력 도구를 이용하여 사용자가 입력하기 편하도록 만들어진 사용자 인터페이스

- 자바는 AWT와 Swing 패키지 등 강력한 GUI 라이브러리 제공

 

- GUI 응용프로그램과 콘솔 기반 응용프로그램은 작성 방식이 다름

- 8장까지는 텍스트를 출력하고 키보드로 입력받는 방식으로 사용자 인터페이스 작성


AWT와 Swing 패키지

- 자바 언어는 GUI 응용프로그램을 쉽게 작성할 수 있도록 다양한 GUI 컴포넌트를 제공

- 자바 GUI 컴포넌트는 AWT 컴포넌트와 Swing 컴포넌트로 구분

 

AWT(Abstract Windowing Toolkit)

- java.awt 패키지

- 자바가 처음 나왔을 때 함께 배포

- Frame, Window, Panel, Dialog, Button, Label. TextField, Checkbox, Choice 등이 중량 컴포넌트(heavy weight component)

- 중량 컴포넌트들은 운영체제의 도움을 받아 화면에 출력되므로 운영체제의 자원을 소모하여 부담을 줌

- 실행되는 운영체제에 따라 다른 모양으로 그려짐

 

스윙(Swing)
- AWT와 달리 순수 자바 언어로 작성

- 운영체제의 도움을 받지 않으므로 스윙 컴포넌트들을 경량 컴포넌트(light weight component)라고 함

- 운영체제와 관계없이 항상 동일하게 작동(동일한 모양으로 그려짐)

- 모든 AWT 컴포넌트들이 100% 호환되도록 스윙 컴포넌트로 다시 작성

- AWT에는 없는 고급 스윙 컴포넌트 有 → 다양한 GUI 응용프로그램 개발 가능

- 스윙은 AWT에 구현된 이벤트 처리나 기본 원리 기반으로 작성되므로 스윙 사용을 위해서는 AWT 패키지가 필요

※ 스윙 컴포넌트의 이름은 J로 시작(AWT 컴포넌트와 구별하기 위해) - JFrame, JWindow, JButton... etc.

 

- AWT보다 Swing 사용을 권장

- Swing과 AWT는 작동하는 내부 구조가 다르므로 두 컴포넌트를 혼용 불가

'안 씀 > java-개념' 카테고리의 다른 글

스윙 GUI 프로그램 만들기  (0) 2024.06.27
자바 GUI 패키지  (0) 2024.06.27
파일 입출력 응용: 파일 복사  (0) 2024.06.24
File 클래스  (0) 2024.06.23
버퍼 입출력과 파일 입출력  (0) 2024.06.23