본문 바로가기
Programming/JDBC

Swing(1) 기본설명 및 프로젝트 생성

by yoon9i 2024. 4. 9.

<Swing>

1. Java 의 GUI ( Craphinc User Interface ) 구현

가. AWT ( Abstract window Toolkit)
- 초창기 버전
- OS 자원이용해서 GUI 랜더링 됨.
  따라서, OS 에 따라서 화면이 달라보임.

나. Swing
- Swing 자신의 자원이용해서 GUI 랜더링됨.

다. JavaFX
- Swing 보다 가볍고 더 강력함.
- 일반 PC( Desktp ) 위주보다는 모바일( 핸드폰, PDA, 임베디드 ) 환경이 GUI 제공.



2. Swing API 계층 구조

                                     Object
                                         |
                                 Component
        |                                                                        |
   Container                                     일반컴포넌트( JButton, JLabel, JList, JTable,.... )
        |                        |
   Panel                Window
                                 |
                     Frame      Dialog
                          |                |
                      JFrame      JDialog

일반컴포넌트: 반드시 Container에 담겨서 랜더링이 가능하다.
Panel: 다른 컴포넌트를 담을수 있는 Container 지만 독자적으로 랜더링이 안됨. ( * )
         따라서, 최종적으로 독자적으로 랜더링이 가능한 Frame 에 담겨서 랜더링이 된다.
Frame : 독자적으로 랜더링이 가능.

 

 

 

3. 레이아웃 ( Layout )
가. 역할 및 특징
- 컴포넌트( JButton ) 의 위치와 크기를 관리하는 컴포넌트이다.
- 기본 레이아웃을 포기하고 특정 레이아웃으로 변경 가능.

나. 종류
a. BorderLayout
- Frame 의 기본 레이아웃
- 5개의 정해진 위치에 배치 ( 각 영역에 하나씩만 배치 가능 )
- NORTH, EAST, WEST, CENTER, SOUTH 상수값 제공
ex) BorderLayout.NORTH

 

b. GridLayout
- 행과 열로 구성된 격자로 배치.

c. CardLayout
- 카드가 겹치는 형태로 배치.
  한번에 단 하나의 컴포넌트만 보임.

d. FlowLayout
- Panel 의 기본 레이아웃.
  왼쪽에서 오른쪽으로, 위에서 아래로 배치.

 

e. AbsoluteLayot( * )
- 사용자가 원하는 위치에 배치.

 

 

 

< Swing 프로젝트 생성>

 

 

 

'Programming > JDBC' 카테고리의 다른 글

Swing(3) 이벤트처리 및 JDBC 연동  (0) 2024.04.09
Swing(2) 레이아웃  (0) 2024.04.09
MyBatis(4) 아키텍쳐  (0) 2024.04.05
MyBatis(3) 동적sql 처리  (0) 2024.04.05
MyBatis(2) MyBatis 사용  (0) 2024.04.04