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 |