본문 바로가기
java/개념

자바 GUI 패키지

by unhyepnhj 2024. 6. 27.

GUI 패키지 계층 구조

- 모든 GUI 컴포넌트들은 Component 클래스를 반드시 상속

- 스윙 컴포넌트의 클래스 명은 J로 시작

JCombooBox가 아니라 JComboBox입니다..!

 

- AWT 컴포넌트는 Button, Label 등과 같이 Component를 직접 상속받거나 Panel, Frame 등과 같이 Container를 상속

- JApplet, JFrame, JDialog를 제외한 모든 스윙 컴포넌트들은 JComponent를 상속

- Font, Dimension, Color, Graphics 등은 컴포넌트가 아니지만 폰트 설정, 색, 도형 그리기 등 그래픽 작업 시 필요


컨테이너와 컴포넌트

- 자바 GUI 응용프로그램은 GUI 컴포넌트들로 구성

- GUI 컴포넌트들은 다른 컴포넌트를 포함하는지 여부에 따라 순수 컴포넌트와 컨테이너로 분류

 

컨테이너

- 다른 GUI 컴포넌트를 포함할 수 있는 컴포넌트

- 컨테이너는 동시에 컴포넌트이기도 함

- java.awt.Container 클래스를 상속받아야 컨테이너

- 컨테이너는 다른 컨테이너에 컴포넌트로 포함될 수 있음

Frame, Panel, Applet, Dialog, Window	//AWT 컨테이너
JFrame, JPanel, JApplet, JDialog, JWindow	//스윙 컨테이너

- 컨테이너로 작동하는 클래스들

 

컴포넌트

- 다른 컴포넌트를 포함할 수 없음

- 컨테이너에 포함되어야만 화면에 출력될 수 있는 GUI 객체

- AWT나 스윙의 모든 컴포넌트들은 java.awt.Component를 상속받으므로 Component 클래스에는 모든 컴포넌트들의 공통적인 속성과 기능이 작성되어 있음

- 순수 스윙 컴포넌트들은 모두 javax.swing.JComponent를 상속받으며 JComponent에는 스윙 컴포넌트들의 공통적인 기능이 작성되어 있음

 

최상위 컨테이너(Top Level Container)

- 컨테이너 중 다른 컨테이너에 속하지 않고도 독립적으로 화면에 출력될 수 있는 컨테이너

- JFrame, JDialog, JApplet

- 이들을 제외한 나머지 컨테이너나 컴포넌트들은 다른 컨테이너에 부착되어야 함

 

컨테이너와 컴포넌트의 포함 관계

- 자바 스윙 응용프로그램은 JFrame과 같은 최상위 컨테이너 위에 컨테이너와 컴포넌트들이 계층 구조로 구성

- 컨테이너에 부착된 컴포넌트들을 자식 컴포넌트라 부름

 

 

 

아... GUI 계층 구조 그림 하나하나 만들었어요 너무 힘드네요

예전엔 교수님 ppt에 있던 그림 불펌했는데(죄송합니다ㅜ) 종강해서 진도를 안 나가는 관계로...ㅋ

그렇다고 인터넷에서 아무거나 퍼 오기도 뭣하고요

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

컨테이너와 배치  (0) 2024.06.28
스윙 GUI 프로그램 만들기  (0) 2024.06.27
GUI  (0) 2024.06.27
파일 입출력 응용: 파일 복사  (0) 2024.06.24
File 클래스  (0) 2024.06.23