๋ชฉ๋ก๐Ÿ–ฅ BE ๋ฐฑ์—”๋“œ/Java ์ž๋ฐ” (51)

Bibi's DevLog ๐Ÿค“๐ŸŽ

[Java - AWT ํ•™์Šต์ •๋ฆฌ] ์ž๋ฐ”์˜ GUIํ”„๋กœ๊ทธ๋ž˜๋ฐ - (1) AWT์ปดํฌ๋„ŒํŠธ, ๋ฉ”๋‰ด ์ปดํฌ๋„ŒํŠธ, ๋ ˆ์ด์•„์›ƒ ๋งค๋‹ˆ์ €

์ด ๊ธ€์€ ์•„๋ž˜ ๋งํฌ ๋ฌธ์„œ๋ฅผ ๋ณด๋ฉฐ ๊ณต๋ถ€ํ•œ ๊ฒƒ์„ ์š”์•ฝ์ •๋ฆฌํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค๐Ÿ™‡‍โ™€๏ธ '์ž๋ฐ”์˜ ์ •์„' ๋‚จ๊ถ์„ฑ ๋‹˜์˜ ๋ธ”๋กœ๊ทธ ์ž๋ฃŒ - AWT [์ž๋ฐ”์˜ ์ •์„ 2ํŒ] 13์žฅ AWT์ž…๋‹ˆ๋‹ค.(PDF) java์˜ ์ •์„ 3ํŒ์—์„œ AWT๋ฅผ ๋บ๋”๋‹ˆ ํ•„์š”ํ•˜๋‹ค๋Š” ๋ถ„๋“ค์ด ์žˆ์–ด์„œ ๋”ฐ๋กœ ๋ฝ‘์•„์„œ ์˜ฌ๋ฆฝ๋‹ˆ๋‹ค. ํ•„์š”ํ•˜์‹  ๋ถ„๋“ค ๋งˆ์Œ๊ป ๊ฐ€์ ธ๋‹ค ์“ฐ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค. codechobo.tistory.com ์•„๋ž˜ ๊นƒํ—ˆ๋ธŒ ๋งํฌ์—์„œ ๊ฐ™์€ ๋‚ด์šฉ์„ ๋” ํŽธํ•˜๊ฒŒ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. github.com/bibi6666667/Codesquad-Cocoa-JAVA/blob/main/mission/src/mission6/AWT.md bibi6666667/Codesquad-Cocoa-JAVA ์ฝ”๋“œ์Šค์ฟผ๋“œ - ๋งˆ์Šคํ„ฐ์ฆˆ ์ฝ”์ฝ”์•„ ๊ณผ์ •(JAVA)์ €์žฅ์†Œ์ž…๋‹ˆ๋‹ค. Contribute t..

[Java] .printf() ์‚ฌ์šฉ๋ฒ• ์ตํžˆ๊ธฐ - ์ฝ˜์†”์ฐฝ ์ถœ๋ ฅ ์™ผ์ชฝ์ •๋ ฌ, ์˜ค๋ฅธ์ชฝ์ •๋ ฌ, ๊ฐ„๊ฒฉ ๋งž์ถ”๊ธฐ

keep-cool.tistory.com/15 https://althathatha.tistory.com/12 https://three-pleasure.tistory.com/251 ์„ธ ๋ถ„์˜ ๊ธ€์„ ์ฐธ๊ณ ํ•˜์—ฌ ๊ณต๋ถ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค๐Ÿ™‡‍โ™€๏ธ System.out.printf() ์‚ฌ์šฉ๋ฒ• ์ตํžˆ๊ธฐ .print();, .println(); ์ด ์•„๋‹Œ .printf();๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•  ๋•Œ๊ฐ€ ์˜จ ๊ฒƒ ๊ฐ™๋‹ค. ์šฐ์„  ๊ฐ€๋กœ, ์„ธ๋กœ๋ฅผ ๋„˜์–ด ์ฝ˜์†” ์ฐฝ์— ์ข€ ๋” ์˜ˆ์˜๊ฒŒ ์›ํ•˜๋Š” ํ˜•ํƒœ๋กœ ์ถœ๋ ฅํ•˜๊ณ  ์‹ถ์–ด์„œ, ๊ทธ๋ฆฌ๊ณ  .printf();์˜ ์ง€์‹œ์ž๋ฅผ ํ™œ์šฉํ•ด ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๊ฐ€๋ณ€์ ์ธ ๋‚ด์šฉ๋“ค์„ ํŽธํ•˜๊ฒŒ ๋งŽ์ด ๋„ฃ๊ธฐ ์œ„ํ•ด์„œ์ด๋‹ค. ( + println()์ฒ˜๋Ÿผ "" ์™€ + ๋กœ ์ด์–ด๋ถ™์ด์ง€ ์•Š์•„๋„ ๋œ๋‹ค!) System.out.printf("์ถœ๋ ฅ ์„œ์‹", ์ถœ๋ ฅํ•  ..

[Java] ๋‹ฌ๋ ฅ ๋งŒ๋“ค๊ธฐ - ํ˜„์žฌ ๋‚ ์งœ ๋ฐ ํŠน์ • ๋‚ ์งœ ๋‹ฌ๋ ฅ ์ถœ๋ ฅ. (Calendar, Date, SimpleDateFormat, ์œค๋…„)

์ž๋ฐ”๋กœ ๋‹ฌ๋ ฅ์„ ๋งŒ๋“ค๊ณ  ์ถœ๋ ฅํ•˜๋Š” ์˜ˆ์ œ์ž…๋‹ˆ๋‹ค. ์ถœ๋ ฅํ˜•ํƒœ ํด๋ž˜์Šค : MyCalendar (ํด๋ž˜์Šค๋ช…์„ Calendar๋กœ ํ–ˆ๋”๋‹ˆ Calendarํด๋ž˜์Šค๋ฅผ ์ž„ํฌํŠธํ•  ๋•Œ ์—๋Ÿฌ๊ฐ€ ๋‚˜์„œ ๋ฐ”๊ฟจ๋‹ค) starter() ๋‹ฌ๋ ฅ์„ ์‹คํ–‰ํ•˜๋Š” ๋ฉ”์„œ๋“œ a๋ฅผ ์ž…๋ ฅํ•ด buildCurrendCalendar()๋ฅผ ์‹คํ–‰, ํ˜„์žฌ ๋‹ฌ๋ ฅ์„ ์ถœ๋ ฅ. z๋ฅผ ์ž…๋ ฅํ•ด getYear(),getMonth()๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์ž…๋ ฅ๊ฐ’์„ ๋ฐ›์•„ buildPastCalendar()๋ฅผ ์‹คํ–‰ ์ž˜๋ชป ์ž…๋ ฅ์‹œ starter()๋ฅผ ๋ฐ˜๋ณต์‹คํ–‰ getYear(), getMonth() ์—ฐ๋„ / ์›” ์„ ๋ฐ›์•„์˜ค๋Š” ๋ฉ”์„œ๋“œ. ๊ณผ๊ฑฐ ๋‹ฌ๋ ฅ ์ถœ๋ ฅํ•  ๋•Œ๋งŒ ์‹คํ–‰๋จ. ๋‘˜ ๋‹ค ์ž์—ฐ์ˆ˜๋ฅผ ์ž…๋ ฅํ•ด์•ผ ํ•˜๋ฉฐ ์›”์€ 1-12์‚ฌ์ด ์ž์—ฐ์ˆ˜๋งŒ ์ž…๋ ฅ ๊ฐ€๋Šฅ. getCurrent() ํ˜„์žฌ ์—ฐ์›”์„ ๊ฐ€์ ธ์˜ค๋Š” ๋ฉ”์„œ๋“œ. ํ˜„์žฌ ๋‹ฌ๋ ฅ ์ถœ๋ ฅํ•  ๋•Œ๋งŒ ..

[Java] ํ•œ๊ธ€์‹œ๊ณ„ ๋”ฐ๋ผ ๋งŒ๋“ค๊ธฐ - ์ด์ฐจ์›๋ฐฐ์—ด, ํ˜„์žฌ์‹œ๊ฐ„ ๊ตฌํ•˜๊ธฐ, switch-case ์—ฌ๋Ÿฌ ์กฐ๊ฑด + ์•ˆ์‹œ ์ฝ”๋“œ

hangulclock.today/#/main ์œ„์™€ ์‚ฌ์ดํŠธ์™€ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•˜๋Š” ํ•œ๊ธ€ ์‹œ๊ณ„๋ฅผ ๋”ฐ๋ผ ๋งŒ๋“œ๋Š” ์˜ˆ์ œ์ž…๋‹ˆ๋‹ค. ์ž๋ฐ” ์ด์ฐจ์›๋ฐฐ์—ด์„ ํ™œ์šฉํ•ด ํ•œ๊ธ€ ์‹œ๊ณ„๋ฅผ ๋”ฐ๋ผ ๋งŒ๋“œ๋Š” ์˜ˆ์ œ์ž…๋‹ˆ๋‹ค. ์ €๋Š” ์ด์ฐจ์›๋ฐฐ์—ด์„ ๋จผ์ € ๊ณต๋ถ€ํ•œ ๋‹ค์Œ ๊ตฌํ˜„ - ๋‚ด์šฉ ์ „์ฒด ์ฝ”๋“œ๋Š” ๋งจ ์•„๋ž˜์— ์žˆ์Šต๋‹ˆ๋‹ค. ํด๋ž˜์Šค : HangeulClock main() HangeulClock๊ฐ์ฒด๋ฅผ ์ƒ์„ฑ Timer, TimerTask ๊ฐ์ฒด ์ƒ์„ฑ TimerTask task ๋‚ด์˜ run() ๋ฉ”์†Œ๋“œ์— ๋ฐ˜๋ณต ์‹คํ–‰ํ•  ๊ตฌ๋ฌธ์„ ์ž…๋ ฅ. showHourMinute ๋ฉ”์†Œ๋“œ์˜ ๋ฆฌํ„ด๊ฐ’(์ด์ฐจ์›๋ฐฐ์—ด clockResult)์„ ๋ฐ›์•„์˜ด printHangeulClock์„ ํ†ตํ•ด ๋ฐ›์•„์˜จ ๋ฆฌํ„ด๊ฐ’์„ ์ถœ๋ ฅ scheduler.scheduleAtFixedRate(task, 1000, 60000); ๋กœ ์ •์˜ํ•œ..

[Java] ์ด์ฐจ์›๋ฐฐ์—ด

ํ•œ๊ธ€์‹œ๊ณ„ ํ•œ๊ธ€์‹œ๊ณ„๋ฅผ ๋”ฐ๋ผ ๋งŒ๋“œ๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด, '์ด์ฐจ์›๋ฐฐ์—ด'์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•ด ๋ณด์•˜๋‹ค. programmers.co.kr/learn/courses/5/lessons/135#note ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. (ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ž๋ฐ” ์ž…๋ฌธ - 2์ฐจ์› ๋ฐฐ์—ด) 2์ฐจ์›๋ฐฐ์—ด Two-Dimensional Array ์ด์ฐจ์›๋ฐฐ์—ด์€ ๋ง ๊ทธ๋Œ€๋กœ ์ด์ฐจ์›์˜ ๋ฐฐ์—ด์ด๋‹ค. ์•ž์˜ ๋Œ€๊ด„ํ˜ธ๊ฐ€ ํ–‰(๊ฐ€๋กœ์ค„, row), ๋’ค์˜ ๋Œ€๊ด„ํ˜ธ๊ฐ€ ์—ด(์„ธ๋กœ์ค„, column) ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ์‰ฝ๋‹ค.int [][] array1 = new int[2][3]; // ์ด๋ ‡๊ฒŒ ์„ ์–ธํ•  ์ˆ˜๋„ ์žˆ๊ณ  int [][] array2; array2 = new int[2][3]; // ์ด๋ ‡๊ฒŒ ์„ ์–ธํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ์ด์ฐจ์›๋ฐฐ์—ด์— ๊ฐ’ ์ €์žฅํ•˜๊ธฐ ์—‘์…€์ฒ˜๋Ÿผ[๊ฐ€๋กœ ์ธ๋ฑ์Šค][์„ธ๋กœ ์ธ๋ฑ์Šค]๋ฅผ ๊ฐ๊ฐ ..

[Java] IntelliJ ์ธํ…”๋ฆฌ์ œ์ด ํ”„๋กœ์ ํŠธ ์ƒ์„ฑํ•˜๊ธฐ & ํŒŒ์ผ๊ตฌ์กฐ ์„ค์ • (Mark directory as ๋ฒ„ํŠผ ์•ˆ ๋ˆŒ๋ฆด ๋•Œ)

์ž๋ฐ”์™€ ์ธํ…”๋ฆฌ์ œ์ด๊ฐ€ ๋ชจ๋‘ ์ฒ˜์Œ์ธ ๋‚˜๋กœ์„œ๋Š” ์ธํ…”๋ฆฌ์ œ์ด์—์„œ ํŒŒ์ผ ํ•˜๋‚˜ ๋งŒ๋“œ๋Š” ๊ฒƒ๋„ ์—„์ฒญ๋‚˜๊ฒŒ ํ—ค๋ฉจ๋‹คใ…  ์ธํ…”๋ฆฌ์ œ์ด์—์„œ Mark directory as ๋ฒ„ํŠผ์ด ํ™œ์„ฑํ™”๊ฐ€ ์•ˆ ๋˜์–ด์„œ ์—„์ฒญ๋‚˜๊ฒŒ ์‚ฝ์งˆ์„ ํ–ˆ๋‹ค. ์ฝ”๋“œ์Šค์ฟผ๋“œ Dion๊ป˜ ๋„์›€์„ ๋ฐ›์€ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•์ด๋‹คใ…  (์ธํ…”๋ฆฌ์ œ์ด์— ๋Œ€ํ•ด ๋„ˆ๋ฌด ๋ชฐ๋ž๋˜ ๊ฒƒ ๊ฐ™๋‹ค) 2์ฃผ์ฐจ ๋งˆ์ง€๋ง‰ ๋‚ ์ด ๋˜์–ด์„œ์•ผ ์ด๊ฑธ ๋ฐฐ์šฐ๊ณ  ์žˆ๋‹ค๋Š” ๊ฒŒ ๋„ˆ๋ฌด ๋ถ€๋„๋Ÿฝ์ง€๋งŒใ…‹ใ…‹ใ… ใ…  ๋‚˜๋„ ๋‚˜์ค‘์— ๋ณผ ์ˆ˜๋„ ์žˆ๊ณ , ๋ˆ„๊ตฐ๊ฐ€์—๊ฒŒ ๋„์›€์ด ๋  ์ˆ˜๋„ ์žˆ์œผ๋‹ˆ ๊ธฐ์ดˆ์ ์ธ ๋‚ด์šฉ์ด์ง€๋งŒ ๋ธ”๋กœ๊ทธ์— ์˜ฌ๋ ค๋ณธ๋‹ค! (์ฐธ๊ณ ๋กœ ์ž๋ฐ”๋ฅผ ๋จผ์ € ์„ค์น˜ํ•œ ํ›„ ์ธํ…”๋ฆฌ์ œ์ด๋ฅผ ์„ค์น˜ํ•˜๋ฉด ๋œ๋‹ค) ์ธํ…”๋ฆฌ์ œ์ด ํ”„๋กœ์ ํŠธ ์ƒ์„ฑํ•˜๊ธฐ ์œ„์˜ New Project ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ์„ ์‹œ์ž‘ํ•œ๋‹ค. ์™ผ์ชฝ์—์„œ Java์„ ํƒ ํ›„, ProjectSDK์—์„œ ์ž์‹ ์ด ์„ค์น˜ํ•œ ์ž๋ฐ” ๋ฒ„์ „์„ ๊ฒฝ๋กœ๋กœ ์„ ํƒํ•œ ๋‹ค์Œ..