[Java] JavaFx์ค์นํ๊ธฐ
- -
์๋ ํ์ธ์ ์ค๋์ javaFx์ค์น ๋ฐ ์๊ฐ๋ฅผ ํด๋๋ฆด๊บผ์์!
์ด๋ฒ์ java๋ก ํ๋ก๊ทธ๋จ์ ๊ตฌํํด๋ณด๊ณ ์ถ์๋ฐ
๊ทธ๋ฌ๊ธฐ ์ํด์๋ JavaFx๋ ํ์! ์ด๋ฏ๋ก..
๊ฐ๋ตํ ์ค๋ช ํ ๋ฐ๋ก ๊ฐ์ด ์คํ์์ผ ๋ณด๋๋ก ํด์~(๏ฝก๏ฝฅ∀๏ฝฅ)๏พ๏พ
์๊ฐ๊ธ
์ง๊ธ๊น์ง Java์์ ๋ฐ์คํฌํฑ ์์ฉ ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ ๋ GUI ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ์ฌ์ฉ๋์ด ์จ ๊ฒ์
"AWT"์ "Swing" ์ด์๋ค๊ณ ํฉ๋๋ค.
ํ์ง๋ง, ์ค์ ๋ก ๋๋ฆฌ ์ฌ์ฉ๋์ด์จ ๊ฒ์ Swing ์ด๋ผ๊ณ ํ ์ ์์ต๋๋ค.
์ต๊ทผ Java8์ด ๋๊ณ , ์๋ก์ด "JavaFx"๊ฐ ๊ธฐ๋ณธ์ผ๋ก ์ฅ์ฐฉ๋์ด Swing์์ JavaFx๋ก ์ ํ์ด ํ์ ๋์๋ค๊ณ ํ๋๋ฐ์,
JavaFx์ ๊ธฐ๋ณธ ์ฝ๋๋ AWT์ Swing๊ณผ๋ ์๋นํ ๋ค๋ฅด๋ค๊ณ ํฉ๋๋ค. <์ถ์ฒ: https://araikuma.tistory.com/377>
- ์๋ฐ๋ AWT์ Swing ํจํค์ง๋ฅผ ์ ๊ณตํ์ฌ ์ํํธ์จ์ด ๊ฐ๋ฐ์๋ค์ด ๋ค์ํ ๋ชจ์์ผ๋ก ์ฝ๊ฒ GUI๋ฅผ ๊ตฌ์ฑํด ์ค๋๋ค.
-
GUI ์์ฉํ๋ก๊ทธ๋จ์ด๋?
๊ทธ๋ํฝ ์ฌ์ฉ์ ์ธํฐํ์ด์ค(graphical user interface, GUI)๋ ์ฌ์ฉ์๊ฐ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ์ ์ถ๋ ฅ ๋ฑ์ ๊ธฐ๋ฅ์ ์๊ธฐ ์ฌ์ด ์์ด์ฝ ๋ฐ์์ ๊ทธ๋ํฝ์ผ๋ก ๋ํ๋ธ ๊ฒ์ด๋ค. ์ปดํจํฐ๋ฅผ ์ฌ์ฉํ๋ฉด์, ํ๋ฉด ์์ ๋ฌผ์ฒด๋ ํ, ์์๊ณผ ๊ฐ์ ๊ทธ๋ํฝ ์์๋ค์ ์ด๋ ํ ๊ธฐ๋ฅ๊ณผ ์ฉ๋๋ฅผ ๋ํ๋ด๊ธฐ ์ํด ๊ณ ์๋ ์ฌ์ฉ์๋ฅผ ์ํ ์ปดํจํฐ ์ธํฐํ์ด์ค ์ด๋ค. <์ถ์ฒ : ๊ตฌ๊ธ ์ํค๋ฐฑ๊ณผ>
-
AWT(Abstract Window Toolkit)
์ ๋ธ์คํธ๋ํธ ์๋ ํดํท(Abstract Window Toolkit, AWT)์ ์๋ฐ์ ๋ณธ ํ๋ซํผ์ ์์กดํ๋ ์๋, ๊ทธ๋ํฝ์ค, ์ฌ์ฉ์ ์ธํฐํ์ด์ค ์์ ฏ ํดํท์ด๋ค. AWT๋ ์๋ฐ ํ๋ก๊ทธ๋จ์ ์ํ ๊ทธ๋ํฝ ์ฌ์ฉ์ ์ธํฐํ์ด์ค(GUI)๋ฅผ ์ ๊ณตํ๋ ํ์ค API์ธ ์๋ฐ ํ์ด๋ฐ์ด์ ํด๋์ค(JFC)์ ์ผ๋ถ์ด๋ค. AWT๋ ์๋ง์ ์๋ฐ ME๋ฅผ ์ํ GUI ํดํท์ด๊ธฐ๋ ํ๋ค.<์ถ์ฒ : ๊ตฌ๊ธ ์ํค๋ฐฑ๊ณผ>
++์ถ๊ฐ ์ค๋ช
Java๋ GUI๊ธฐ๋ฐ์ ์์ฉํ๋ก๊ทธ๋จ ์์ฑ์ ์ํด ๋ค์ํ GUI ์ปดํฌ๋ํธ(GUI Component)๋ฅผ ์ ๊ณตํ๋๋ฐ,
๊ทธ์ค 'AWT'๋ java.awtํจํค์ง๋ฅผ ํตํด ๊ณต๊ธ๋๋ค.
'AWT'๋ Java๊ฐ ์ฒ์ ๋์์ ์์, ํจ๊ป ๋ฐฐํฌ๋ ํจํค์ง๋ก์จ ๋ง์ GUI ์ปดํฌ๋ํธ๋ฅผ ๊ฐ์ง๊ณ ์๋ค.
Frame, Window, Panel, Dialog, Button, Label, TextField, Checkbox, Choice ๋ฑ๊ณผ ๊ฐ์
AWT์ ์ปดํฌ๋ํธ๋ค์ ์ค๋ ์ปดํฌ๋ํธ(heavy weingt component)๋ผ๊ณ ๋ถ๋ฅธ๋ค.
์ด ์ปดํฌ๋ํธ๋ค์ ์ด์์ฒด์ (OS)์ ๋์์ ๋ฐ์ ํ๋ฉด์ ์ถ๋ ฅ๋๋๋ฐ, ์ด์์ฒด์ ์ ๋ฆฌ์์ค๋ฅผ ๋ง์ด ์๋ชจํ์ฌ ์ด์์ฒด์ ์ ๋ถ๋ด์ ๋ง์ด ์ค๋ค๊ณ ํ๋ค.
๋ํ AWT ์ปดํฌ๋ํธ๋ ์ด์์ฒด์ ์ ์์กด์ ์ด๋ฏ๋ก OSํ๊ฒฝ์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ๊ตฌํ๋ ์ ์๋ค.
-
Swing(์ค์)
์ค์(Swing)์ ์๋ฐ์์ GUI(Graphic User Interface)๋ฅผ ๊ตฌํํ๊ธฐ ์ํด JDK์์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณตํ๋ ๊ฐ๋ฐ ํดํท์ผ๋ก ์ ๋ง์ดํฌ๋ก์์คํ ์ฆ์ ์๋ฐ ๊ธฐ๋ฐ ํด๋์ค์ ์ผ๋ถ์ด๋ค.
์ค์์ ๊ธฐ์กด์ ๋ฐํ๋์๋ AWT(Abstract Window Toolkit)๊ฐ OS(Operating System) ๋ฐ ์๋ ์์คํ ์ ์์์ ๊ทธ๋๋ก ์ ๊ณตํ๊ธฐ ๋๋ฌธ์ ์๋ฐ์์ ์งํฅํ๋ "Write Once, Run Everywhere(WORE)"๋ฅผ ๊ตฌํํ๊ธฐ ์ํด ๊ฐ์ข ์์คํ ์์ ๊ณตํต์ ์ผ๋ก ์ ๊ณตํ๋ ๋ฒํผ, ๋ํ์ฐฝ ๋ฑ๋ง์ ๊ตฌํํ๊ณ ํ๋ ํธ๋ฆฌ ๋ฑ์ ์ข ๋ ๋ณต์กํ๊ณ ๋ค์ํ ๊ทธ๋ํฝ ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉํ ์ ์๋ ๋จ์ ์ ๋ณด์ํ๊ธฐ ์ํ์ฌ JDK 1.2 ๋ฒ์ ๋ถํฐ ์ฌ์ฉ๋์๋ค. <์ถ์ฒ : ๊ตฌ๊ธ ์ํค๋ฐฑ๊ณผ>
++์ถ๊ฐ ์ค๋ช
swing์ 'AWT'๊ธฐ์ ์ ๊ธฐ๋ฐ์ผ๋ก ์์ฑ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก 'AWT'์๋ ๋ฌ๋ฆฌ ์์ํ๊ฒ ์๋ฐ ์ธ์ด๋ก ์์ฑ๋์๋ค.
์ค์ ์ปดํฌ๋ํธ๋ ๊ฒฝ๋ ์ปดํฌ๋ํธ(light weight component)๋ผ๊ณ ๋ ๋ถ๋ฆฌ๋ฉฐ, ์ด์์ฒด์ ์ ๋์์ ๋ฐ์ง ์๊ณ ๊ตฌํ๋๊ธฐ ๋๋ฌธ์ ์ด์์ฒด์ ์ ๊ด๊ณ์์ด ํญ์ ๋์ผํ๊ฒ ์๋ํ๋ฉฐ ๋์ผํ ๋ชจ์์ผ๋ก ๊ทธ๋ ค์ง๋ค.
* ์ค์ ์ปดํฌ๋ํธ์ ์ด๋ฆ์ AWT ์ปดํฌ๋ํธ์ ๊ตฌ๋ถํ๊ธฐ ์ํด ๋ชจ๋ ๋๋ฌธ์ J๋ก ์์
++ ๊ฐ๋ฐ์๋ AWT์ Swing ์ค ์ ํํ์ฌ GUI ์์ฉํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ ์ ์๋๋ฐ, ๋ณดํต Swing์ ๋ง์ด ์ฌ์ฉํ๋ค.
-
JavaFX
์๋ฐFX(JavaFX)๋ ๋ฐ์คํฌํฑ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ๋ฆฌ์น ์ธํฐ๋ท ์ ํ๋ฆฌ์ผ์ด์ (RIA)์ ๊ฐ๋ฐํ๊ณ ๋ฐฐํฌํ๋ ์ํํธ์จ์ด ํ๋ซํผ์ผ๋ก, ๋ค์ํ ์ฅ์น์์ ์คํ ๊ฐ๋ฅํ๋ค. ์๋ฐFX๋ ์๋ฐ SE๋ฅผ ์ํ ํ์ค GUI ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก์ ์ค์์ ๋์ฒดํ๊ธฐ ์ํด ๊ณ ์๋์๋ค.์๋ฐFX๋ ๋ง์ดํฌ๋ก์ํํธ ์๋์ฐ, ๋ฆฌ๋ ์ค, macOS์ ๋ฐ์คํฌํฑ ์ปดํจํฐ์ ์น ๋ธ๋ผ์ฐ์ ๋ฅผ ์ง์ํ๋ค. <์ถ์ฒ : ์ํค๋ฐฑ๊ณผ>
๊ทธ๋ผ ์ด์ JavaFX๋ฅผ ์คํํด๋ณผ๊ป์!
๊ทธ๋๋ก ๋ฐ๋ผํด์ฃผ์ธ์.
โ Help > Eclipse Marketplace... ํด๋ฆญ
โ JavaFX ๋ฅผ ๊ฒ์ ํ, ์ฐพ์์ install ํด์ฃผ์ธ์ (์ ์ผ ์ฒซ ๋ฒ์งธ๊บผ)
โ Finish
โ ๋ค์ด๋ก๋ ๋๊ณ ์๋ค์.. ์ ์ ๊ธฐ๋ค๋ ค ์ฃผ์ธ์ (โ´โก`โ) ์์ฐธ ๋ฒ๊ฝ ํผ๊ณ ์์ด์ฉ ํํํฃ
โ ์ดํด๋ฆฝ์ค๋ฅผ ๋ค์ ์ฌ์์ ํด์ค๋๋ค.
โ ํ์๋ ๊ณณ์์ ์ฐํด๋ฆญ > New > Other ์ ๋ค์ด๊ฐ์ฃผ์ธ์
โ ์ ํ ํ Next๋ฅผ ๋๋ฌ์ฃผ์ธ์~
โ ์ด๋ฆ์ ์ง์ ํด์ฃผ์ธ์. (์ ๋ Test1์ผ๋ก ์ง์ ํ ๋ชจ๋ ๊ฐ์ ๊ธฐ๋ณธ์ผ๋ก > Finish ํ์์ต๋๋ค.)
โ ๊ธฐ๋ณธ์ผ๋ก ์ง์ ๋์๋ ๊ฒ์ด๊ตฌ์. F11+Ctrl ํค๋ฅผ ๋๋ฌ์ฃผ์๋ฉด ์คํ์ด ๋๋ค์. ->๊ธฐ๋ณธ ํฐ์ ํ๋ฉด
โ ์ค๋์ ๊ฐ๋จํ ์ด๋ฆ๊น์ง๋ง ์ง์ ํด์ฃผ์์ด์.
์ฒซ ์์์ธ ๋งํผ ๊ฐ๋ตํ ์ค๋ช ๋๋ ธ์ง๋ง
์์ผ๋ก ํ๋ฐ์๊ตญ์ฉ JavaFX๋ฅผ ๋ฐฐ์๋ณด๋๋ก ํฉ์๋ค.
์ ์ฒซ๋ฒ์งธ ๋ชฉํ๋ _ ํ ํธ๋ฆฌ์ค ๊ฒ์ ๊ตฌํ์ด์์!! ๋ค๋ค ๊ทธ๋ผ
์ด๊ณตํ์ญ์์ค. เผผ ใค โ_โ เผฝใคLet's Go Study~
'Languages > JAVA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java] ์ปฌ๋ ์ (Collection) (0) | 2020.04.21 |
---|---|
[JavaFx] ๋ธ๋ก ์์ฑํ๊ธฐ (0) | 2020.04.20 |
[Java] bank ์๊ณ ๋ฆฌ์ฆ (0) | 2020.04.15 |
[Java] ๋ฒ๋ธ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ (1) | 2020.04.14 |
์์คํ ๊ณต๊ฐ ๊ฐ์ฌํฉ๋๋ค