GUI 패키지 계층 구조
- 모든 GUI 컴포넌트들은 Component 클래스를 반드시 상속
- 스윙 컴포넌트의 클래스 명은 J로 시작
- 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 |