๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
studies/Back-end

[Java] JavaFX ์„ค์น˜์™€ ์ดํด๋ฆฝ์Šค ์—ฐ๋™

by Vada Kim 2020. 3. 27.
728x90
๋ฐ˜์‘ํ˜•

JavaFX๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋ญ ์ดํด๋ฆฝ์Šค ๋„ค์˜จ๋ฒ„์ „์„ ์„ค์น˜ํ•˜๋ผ ์–ด์ฉŒ๊ณ  ํ•˜๋Š”๋ฐ ํ•˜...๊น”๊ธฐ ์‹ซ์–ด์„œ ๊ธฐ์กด์— ์“ฐ๋˜ ์˜คํ”ˆ๋ฒ„์ „์œผ๋กœ ์„ธํŒ…ํ–ˆ๋‹ค. ๋Œ€์‹  ์„ธํŒ…ํ•˜๋Š”๋ฐ ์ข€ ์• ๋จน์—ˆ๋‹ค. ใ…Žใ…›ใ…Ž...

 

์ด ์˜์ƒ๋„ ์ฐธ๊ณ ํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๊ฒƒ์œผ๋กœ๋„ ๋ถ€์กฑํ–ˆ์Œ.

 

 

 

1. JavaFX ์„ค์น˜


์ดํด๋ฆฝ์Šค ๋ฉ”๋‰ด๋ฐ”์˜ Help>Marketplace>Find:fx

๋‚œ ์ด๋ฏธ ๋ชจ๋“  ์„ธํŒ…์„ ๋‹ค ๋๋‚ธ ์ƒํƒœ๋ผ ์ด๋ฏธ ๋‹ค์šด๋ฐ›์•„์ ธ ์žˆ์ง€๋งŒ ๋‹น์‹ ์€ ์ด๊ฒƒ์„ ์ธ์Šคํ†จ ํ•ด์ฃผ๊ธธ. ์„ค์น˜๊ฐ€ ๋๋‚˜๋ฉด ์ดํด๋ฆฝ์Šค๊ฐ€ ์žฌ๋ถ€ํŒ… ๋  ๊ฒƒ์ด๋‹ค. ์žฌ๋ถ€ํŒ…ํ•˜๊ฒ ๋‹ค๋Š” ์•ˆ๋‚ด์ฐฝ์ด ๋œจ๋ฉด ์˜ค์ผ€์ดํ•ด์ค€๋‹ค.

 

 

์ด์ œ JavaFX๋ฅผ ์„ค์น˜ํ•˜๋Ÿฌ ๊ฐ€์ž. https://gluonhq.com/products/javafx/  ์••์ถ•๊นŒ์ง€ ์•ผ๋ฌด์ง€๊ฒŒ ํ’€์–ด์ค€๋‹ค.

์ž์‹ ์˜ ์šด์˜์ฒด์ œ์— ๋งž๊ฒŒ ๋‹ค์šด๋ฐ›๊ธฐ / "SDK" ๋กœ!

 

 

 

 

 

2. ํ”„๋กœ์ ํŠธ์— JavaFX ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€


์ผ๋ฐ˜์ ์œผ๋กœ JDK๊ฐ™์€๊ฑด ์–˜๋‚ด๊ฐ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์ž๋™์œผ๋กœ ๋ถˆ๋Ÿฌ์˜ค๋‚˜ ์ด JavaFX๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ์šฐ๋ฆฌ๊ฐ€ ์ง์ ‘ ๋“ฑ๋กํ• ๊ฑฐ๋‹ค.

 

Window>Prefernces>Java>User Libraries>New

์ด๋ฆ„์„ ์ง€์ •ํ•ด์ค€๋‹ค. ๋‚œ ์ด๋ฏธ ๋งŒ๋“ค์–ด์ ธ์žˆ๋‹ค. 'JavaFX'๋ผ๊ณ  ์ง€์—ˆ์—ˆ์Œ.

 

 

 

์ƒ์„ฑ๋œ ์œ ์ € ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํด๋ฆญ ํ›„ Add External JARs ํด๋ฆญํ•œ๋‹ค. ๊ทธ๋Ÿผ ํƒ์ƒ‰๊ธฐ ์ฐฝ์ด ๋œจ๋Š”๋ฐ ์•„๊นŒ ์œ„์—์„œ ์„ค์น˜ํ–ˆ๋˜ JavaFX์˜ ๊ฒฝ๋กœ(ํด๋”๋ช… ์‚ฌ์ง„์ฐธ๊ณ ) ์† libํด๋”์˜ jarํŒŒ์ผ์„ ๋ชจ๋‘ ์„ ํƒํ•ด์ค€๋‹ค.

 

 

 

๊ทธ๋Ÿผ ์š”๋ ‡๊ฒŒ ์ž˜ ์ถ”๊ฐ€๊ฐ€ ๋œ ๊ฑธ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

 

 

 

 

 

 

 

 

 

 

์ด์ œ ์ด๋ ‡๊ฒŒ ์ถ”๊ฐ€ํ•œ ์œ ์ €๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ JavaFX ํ”„๋กœ์ ํŠธ์— ์ถ”๊ฐ€ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ : New>Others>JavaFX Project

 

 

 

ํ”„๋กœ์ ํŠธ ์šฐํด๋ฆญ>Properties ๋กœ ์ด๋™ํ•œ ํ›„ ์•„๋ž˜ ์‚ฌ์ง„๋Œ€๋กœ ์œ ์ € ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค.

 

6๋ฒˆ์งธ-Next๋ฅผ ๋ˆ„๋ฅด๋ฉด ์•ž์„œ ๋งŒ๋“ค์–ด๋‘์—ˆ๋˜ JavaFX ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์žˆ๋‹ค. ์ด๊ฑธ ์„ ํƒํ•œ ํ›„ Finish.

๋‚˜๋Š” ์ด๋ฏธ ์ถ”๊ฐ€ํ•ด๋‘” ์ƒํƒœ๋ผ Xํ‘œ์‹œ๊ฐ€ ๋œจ๋Š”๊ฒƒ

 

 

 

 

 

 

 

3. Run -FX์˜ ์ปดํŒŒ์ผ ์„ค์ •


์•„๋ž˜ ๋ณด์‹œ๋ฉด... Window>Preferences>Run/Debug>String Substitution>New

์•„๋ž˜์™€ ๊ฐ™์ด ์ƒˆ ๋ณ€์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค. Value๊ฐ’์€ fx jar๋“ค์˜ ์œ„์น˜์ด๋‹ค. ์•„๊นŒ ์œ„์—์„œ ๋ดค๋˜ ๊ฒƒ์ฒ˜๋Ÿผ ๋ชจ๋‘ libํด๋”์— ์žˆ์—ˆ๋‹ค. 

 

 

 

๊ทธ๋Ÿฐ ๋‹ค์Œ Run>Run Configurations>Arguments>VM arguments ์— ์•„๋ž˜์™€ ๊ฐ™์ด ์ž…๋ ฅํ•ด์ค€๋‹ค.

 

--module-path ${PATH_TO_FX} --add-modules=javafx.controls

 

์ด ๊ณผ์ •์ด ์—†์œผ๋ฉด ํ•ด๋‹น ํ”„๋กœ์ ํŠธ ์† ์†Œ์Šค๋ฅผ ์‹คํ–‰ํ–ˆ์„ ๋•Œ JavaFX runtime components are missing, and are required to run this application ๋ผ๋Š” ์˜ค๋ฅ˜๊ฐ€ ๋œฌ๋‹ค.

์ด๊ณณ์€ ๋ช…๋ นํ–‰ ๋งค๊ฐœ๋ณ€์ˆ˜ ๊ฐ’์„ ๋„˜๊ธฐ๋Š” ๊ณณ์ด๊ธฐ๋„ ํ•˜๋‹ค! ์ด๊ณณ์— ๋ฐฉ๋ฌธํ•  ์ผ์€ ๊ฑฐ์˜ ์—†์—ˆ๋Š”๋ฐ...

์ผ๋ถ€์ฐธ๊ณ :https://stardevelop.tistory.com/2


 

++ fxmlํŒŒ์ผ์„ ๊ฐ€์ ธ์™€์„œ ๋ฉ”์ธํด๋ž˜์Šค๊ฐ€ ์žˆ๋Š” ํŒŒ์ผ์„ ๋Ÿฐ(๋‹ค์‹œ ๋Ÿฐ~๋Ÿฐ~๋Ÿฐ~) ์‹œ์ผฐ๋”๋‹ˆ ์•„๋ž˜์™€ ๊ฐ™์€ ์—๋Ÿฌ ๋ฐœ์ƒ.

 

Exception in Application start method java.lang.reflect.InvocationTargetException

 

 

๋‹ค์‹œ ์ฐพ์•„๋ณด๋‹ˆ fxmlํŒŒ์ผ๋„ ๋Œ๋ฆด ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์•ผํ•œ๋‹ค๊ณ  ํ•จ. VM ๋ชจ๋“ˆ ์„ค์ •ํ• ๋•Œ controls๋งŒ ๋„ฃ์œผ๋ฉด ์•ˆ๋œ๋‹ค๊ณ .

 

--module-path ${PATH_TO_FX} --add-modules=javafx.controls,javafx.fxml

 


 

์ด 3๋‹จ๊ณ„๋ฅผ ๋๋‚ด๋ฉด ์ดํด๋ฆฝ์Šค ๋„ค์˜จ ๋ฒ„์ „์ด ์•„๋‹Œ ์“ฐ๋˜ ๋ฒ„์ „์—์„œ๋„ ์ž˜ ์‹คํ–‰๋œ๋‹ค~

ํ”ผ๊ณค์“ฐ~

728x90
๋ฐ˜์‘ํ˜•