728x90
GUI(Graphical User Interface)
- 강력한 GUI 컴포넌트 제공
- 쉬운 GUI 프로그래밍
- AWT 패키지와 Swing 패키지에 제공되는 메커니즘 이용
- AWT - java.awt 패키지
- Swing - javax.swing 패키지
💡 Swing에는 다양한 컴포넌트 기능들이 있어서 강하고 경량적인 프로그래밍에 유리하다!
AWT(Abstract Windowing Toolkit)
- 자바가 처음 나왔을 떄 함께 배포된 라이브러리
- java.awt 패키지
- AWT 컴포넌트는 중량 컴포넌트(Heavy Weight Components)이다.
- AWT 컴포넌트는 native(peer) 운영체제의 GUI 컴포넌트의 도움을 받아 작동한다. - 플랫폼 의존적
- 운영체제에 많은 부담을 주지만 처리 속도는 빠르다.
- 교차 할 수 있는 look and feel 제공 ❌
Swing
- AWT 기술을 기반으로 순수 자바 언어로 만들어진 라이브러리
- 모든 AWT 기능 ➕ 고급 컴포넌트 기능 추가 (컴포넌트 종류 다양)
- javax.swing 패키지
- Swing 컴포넌트는 경량 컴포넌트(Light Weight Components)이다.
- native(peer) 운영체제에 의존하지 않는다. - 플랫폼 독립적
- 교차 할 수 있는 look and feel 제공 ⭕
특징
- 클래스 명이 J로 시작한다.
- 화려하고 다양한 컴포넌트로 쉽게 GUI 프로그래밍이 가능하다.
- 스윙 컴포넌트의 2가지 유형
- JComponent 는 상속받는 클래스
- AWT의 Container를 상속받는 몇 개의 클래스
컨테이너
: 다른 GUI 컴포넌트를 포함할 수 있는 컴포넌트
- java.awt.Container 상속
- 다른 컨테이너에 포함될 수 있음
- AWT 컨테이너 : Panel, Frame, Applet, Dialog, Window
- Swing 컨테이너 : JPanel JFrame, JApplet, JDialog, JWindow
최상위 컨테이너
- 다른 컨테이너에 속하지 않고 독립적으로 출력가능한 컨테이너
- JFrame, JDialog, JApplet
- 모든 컴포넌트는 컨테이너에 포함되어야 화면에 출력 가능
컴포넌트
- 컨테이너에 포함되어야 화면에 출력될 수 있는 순수 컴포넌트
- 모든 컴포넌트는 java.awt.Component 를 상속받음
- 모든 스윙 컴포넌트는 javax.swing.JComponent 를 상속받음
아래 노션 페이지에 자바 공부 내용에 대해 업로드 합니다!
수정사항이나 질문사항의 경우 노션 댓글로 남겨주세요!(*•̀ᴗ•́*)و ̑̑
개발 환경
작성 플랫폼
728x90
'🧑💻 Language > Java' 카테고리의 다른 글
[Java] 멀티스레드 (0) | 2021.10.18 |
---|---|
[Java] 14. 스윙 (0) | 2021.06.05 |
[Java] 12. 모듈화와 패키지 응용 (2) | 2021.06.01 |
[Java] 11. 모듈과 패키지 (2) | 2021.05.26 |
[Java] 10. 인터페이스 (0) | 2021.05.26 |