๊ณ์ฐ๊ธฐ ๋ง๋ค๊ธฐ ํ๋ก์ ํธ๋ฅผ ๋ณธ๊ฒฉ์ ์ผ๋ก ์งํํ๊ธฐ์ ์์ Console ๋จ์์ ์ ์ถ๋ ฅ์ ์งํํ๊ธฐ์๋ ํ๋ก์ ํธ์ ์์ฑ๋๊ฐ ๋จ์ด์ง ๊ฒ ๊ฐ๋ค๋ ์๊ฐ์ด ๋ค์๋ค.
์ค์ ๊ณ์ฐ๊ธฐ ํ๋ก๊ทธ๋จ๋ค ์ฒ๋ผ GUI๋ก ํํํด๋ณด๋ฉด์ Java์ ์ฌ๋ฌ ๊ธฐ๋ฅ๋ค์ ์ตํ๋ณด๊ณ ์ํ๋ค.
Java๋ก GUI๋ฅผ ํํํ๋ ๋ฐฉ๋ฒ์ผ๋ก๋ AWT, Swing ์ด ๋๊ฐ์ง ํจํค์ง๊ฐ ๋ํ์ ์ด๋ผ๊ณ ๋ณผ ์ ์๋ค.
1. AWT(Abstract Window Toolkit) Package
OS์ ์์์ ์ด์ฉํด ํ๋ฉด์ ๊ตฌ์ฑํ๋ค. (์ด์์ฒด์ ๋ณ๋ก UI๊ฐ ๋ค๋ฅด๋ค)
java.awt.*
ex) Frame, Button, TextField, ...
2. Swing Package
UI์ ์ธ ์ธก๋ฉด์์ ๊ฐ์ข ์์คํ ์ด ๊ณตํต์ ์ผ๋ก ์ ๊ณต๋ฐ์ ์ ์๋๋ก Java์์ญ์์ ์ฌ์ฉํ๋ ๊ธฐ๋ฅ์ ์ ์ฉ๋ฐ๋๋ค.
javax.swing.*
ex) JFrame, JButton, JTextField, ...
# AWT vs Swing?
AWT | Swing |
๋ค์ดํฐ๋ธ(Native) UI | ๋ชจ๋ ํ๋ซํผ์ ๋์ผํ UI |
์ปดํฌ๋ํธ๋ฅผ ์ถ์ํํจ์ผ๋ก์จ ๊ฐ ์ด์์ฒด์ ์์ ๊ตฌํํ๊ธฐ ํธ๋ฆฌ | ์ด์์ฒด์ ์ ์์์ ๋น๋ฆฌ์ง ์๊ณ ์ง์ ํ๋ฉด์ ๊ทธ๋ ค ์ด์์ฒด์ ๊ฐ ๋ฐ์ํ ๋ฒ๊ทธ๋ฅผ ์๋์ผ๋ก ํด๊ฒฐ |
- ์ด์์ฒด์ ์ ๋ฐ๋ผ ๋ฏธ๋ฌํ ๋ฒ๊ทธ๋ฐ์ - ๋ถ๊ท์นํ ์ปดํฌ๋ํธ ๋ชจ์, ๋ ์ด์์ ์ค์ ๋ฌธ์ |
- ์คํ์๋๊ฐ ๋๋ ค์ง - ์คํ ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ง์ด ์ฐจ์งํ๋ค. |
<์ฉ์ด>
Component
ํ๋ฉด์ ๊ตฌ์ฑํ๋ ๋ถํ
์ปจํ ์ด๋์ ํฌํจ๋์ด์ผ ํ๋ฉด์ ์ถ๋ ฅ๋ ์ ์๋ GUI ๊ฐ์ฒด
๋ค๋ฅธ ์ปดํฌ๋ํธ๋ฅผ ํฌํจํ ์ ์๋ค.
Container
๋ค๋ฅธ ์ปดํฌ๋ํธ๋ฅผ ํฌํจํ ์ ์๋ GUI ์ปดํฌ๋ํธ
์ปจํ ์ด๋๋ ์ต์์/์ผ๋ฐ ์ปจํ ์ด๋๋ก ๋ถ๋ฅ๋๋ค.
์ต์์
Event
์๋์ฐ ํ๋ก๊ทธ๋๋ฐ์์ ์ด๋ค ํน์ ํ ํ๋์ด ๋ฐ์ํ ๊ทธ ์์ฒด๋ฅผ ์๋ฏธ
ex) ๋ฉ๋ด์ ํ, ๋ง์ฐ์คํด๋ฆญ, ์๋์ฐ ํฌ๊ธฐ ์กฐ์
์ด๋ฒคํธ ๋ฐ์ ๊ฒ์ฌ -> ์ด๋ฒคํธ ๋ฐ์ ์ JVM์ ์ด๋ฒคํธ ์ ๋ฌ -> JVM์ ์ด๋ฒคํธ ๊ฐ์ฒด ์์ฑ -> ์ด๋ฒคํธ ๊ฐ์ฒด๋ก ํธ๋ค๋ฌ ์คํ
*JVM : Java Virtual Machine(์๋ฐ ๊ฐ์๋จธ์ )
Event์ ๋ํ ์์ธํ๋ด์ฉ์ ์ถํ ๋ค๋ฅธ ํฌ์คํ ์์ ๋ค๋ค๋ณผ ์์ ์ด๋ค.
*Reference
https://coding-factory.tistory.com/262
'๐ฌ Language > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
StringTokenizer (0) | 2020.01.18 |
---|---|
extends์ implements (0) | 2020.01.17 |
Event๋? (0) | 2020.01.11 |
split ํจ์์ ์ ๊ทํํ์ (0) | 2020.01.08 |
args[0]์ ์ด๊ธฐ๊ฐ? (0) | 2020.01.08 |