๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ—‚.๋Œ€์™ธํ™œ๋™/๐Ÿ“.์นด์นด์˜คํด๋ผ์šฐ๋“œ์Šค์ฟจ

[JAVA] ์ž๋ฐ”์™€ GUI

by ๐Ÿ’พ๊ณ ๊ตฌ๋งˆ๋ง›ํƒ•๋จน๊ณ ์‹ถ๋‹ค 2023. 12. 16.
728x90

๐Ÿšจ ์ž๋ฐ”๋Š” ํšจ์œจ์„ฑ ๋ฌธ์ œ๋กœ ๊ทธ๋ž˜ํ”ฝ์„ ๋‹ค๋ฃจ์ง€ ์•Š์ง€๋งŒ ํ•™์Šต์šฉ์œผ๋กœ ์ž๋ฐ”๋กœ GUI๋ฅผ ๊ฐ„๋‹จํžˆ ํ•™์Šตํ•ด๋ณด๋ ค ํ•œ๋‹ค.

 

๐ŸŽจ GUI (Graphical User Interface)

๊ทธ๋ž˜ํ”ฝ ๊ธฐ๋ฐ˜์œผ๋กœ ์‚ฌ์šฉ์ž์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค

์ž๋ฐ”๋Š” ์ง์ ‘์ ์œผ๋กœ GUI๊ธฐ๋ฐ˜ ๋ชจ๋“ˆ์„ ๋ฐ”๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ†ตํ•ด ๋žฉํ•‘ (ํฌ์žฅ)ํ•ด JVM์„ ๊ฑฐ์ณ์„œ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. ๋‹ค๋งŒ ๊ฑฐ์ณ์„œ ๊ฐ€๊ธฐ ๋•Œ๋ฌธ์— ์†๋„๊ฐ€ ๋Š๋ฆฌ๋‹ค. ๊ทธ๋ž˜์„œ ๋ณดํ†ต ์ž๋ฐ”์—์„œ GUI๋ฅผ ๋‹ค๋ฃจ์ง€ ์•Š๋Š”๋‹ค.

๋”๋ณด๊ธฐ

ํ•˜๋“œ์›จ์–ด ์ถœ๋ ฅ์žฅ์น˜์ธ ๋ชจ๋‹ˆํ„ฐ๋ฅผ ์†Œํ”„ํŠธ์›จ์–ด๋กœ ์ œ์–ดํ•˜๊ธฐ ์œ„ํ•ด ๊ทธ๋ž˜ํ”ฝ๋‹จ์œ„๋กœ ์ถ”์ƒํ™”ํ•˜์—ฌ ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•ด ๋ชจ๋‹ˆํ„ฐ๋ฅผ ์ œ์–ดํ•œ๋‹ค.

 

๐Ÿ”ง ์ธํ„ฐํŽ˜์ด์Šค: ๋‘ ๊ฐœ ์ด์ƒ์˜ ์‹œ์Šคํ…œ, ์žฅ์น˜, ํ”„๋กœ๊ทธ๋žจ ๊ฐ„์— ์ƒํ˜ธ ์ž‘์šฉํ•˜๊ณ  ํ†ต์‹ ํ•˜๊ธฐ ์œ„ํ•œ ๊ฒฝ๊ณ„๋‚˜ ๋งค๊ฐœ์ฒด

 

GUI๋Š” ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฌดํ•œ๋ฃจํ”„์— ๋น ์ ธ ๋ฌดํ•œ ๋Œ€๊ธฐ ์ƒํƒœ์— ๋น ์ง€๊ฒŒ ๋œ๋‹ค.

๋”ฐ๋ผ์„œ ์‚ฌ์šฉ์ž์˜ ๋ฐ˜์‘(ํด๋ฆญ)์— ๋”ฐ๋ผ ์ˆœ์„œ๊ฐ€ ์ •ํ•ด์ง„๋‹ค.

 

๐ŸŽˆ ํ˜„์žฌ APP2๊ฐ€ ์ถœ๋ ฅ ์š”์ฒญํ•˜์—ฌ ๋ชจ๋‹ˆํ„ฐ์— ์ถœ๋ ฅํ•˜๊ณ  ์žˆ๋Š” ๊ฒฝ์šฐ

 

public static void main(String[] args) {
    // GUI ์ œ์–ด๋ฅผ ์œ„ํ•ด awt๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•ด์•ผํ•˜๋Š”๋ฐ 
    // java.desktop ๋ชจ๋“ˆ ๋ฐ‘์œผ๋กœ ๋“ค์–ด๊ฐ”๊ธฐ ๋•Œ๋ฌธ์— ํ•ด๋‹น ๋ชจ๋“ˆ์„ importํ•ด์•ผํ•œ๋‹ค.
    Frame f = new Frame(); 

    // ๊ธฐ๋ณธ ์„ค์ •์ด 0, 0์ด๊ธฐ ๋•Œ๋ฌธ์— ์„ค์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ํ™”๋ฉด์ถœ๋ ฅ์„ ์š”์ฒญํ•˜์˜€์ง€๋งŒ ์ถœ๋ ฅ์•ˆ๋œ ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์—ฌ์งˆ ๊ฒƒ์ด๋‹ค.
    f.setSize(800, 600); 

    // ์šด์˜์ฒด์ œ์—๊ฒŒ ๋ชจ๋‹ˆํ„ฐ์˜ ๋…์ ๊ถŒ ์š”์ฒญ
    // ๊ฐœ๋ฐœ์ž๊ฐ€ ์›ํ•  ๋•Œ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์ด ์•„๋‹Œ ์šด์˜์ฒด์ œ์—๊ฒŒ ๋ถ€ํƒํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ฆ‰, ๊ธฐ๋‹ค๋ ค์•ผํ•œ๋‹ค.
    f.setVisible(true); 

    // ํ•ด๋‹น ํ”„๋กœ๊ทธ๋žจ์€ setVisible์„ false๋กœ ๋ณ€๊ฒฝํ•  ๋กœ์ง์„ ์ž‘์„ฑํ•˜์ง€์•Š์•„ ๊ณ„์†ํ•ด์„œ ํ™”๋ฉด์— ๋„์›Œ์ง€๊ฒŒ ๋œ๋‹ค.
    // ์ข…๋ฃŒ ๋ฒ„ํŠผ๋„ ์ž‘๋™ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์ž‘์—…๊ด€๋ฆฌ์ž์—์„œ ๊ฐ•์ œ์ข…๋ฃŒํ•ด์•ผํ•œ๋‹ค. 
}

 

๐ŸŽจ ๊ณ ๊ธ‰ GUI

์‚ฌ์šฉ์ž์˜ ํŽธ์˜์„ฑ, ์ตœ์ ํ™” ์–ด๋ ค์›€ = Component

 

๐Ÿ‘‰  GUI์—์„œ ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ์ด์šฉํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์ดํ•ดํ•˜๊ณ  ๋„˜์–ด๊ฐ€๋ฉด ๋œ๋‹ค.

 

728x90