๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Study/Java

(10)
์ž๋ฐ”ํ”„๋กœ๊ทธ๋ž˜๋ฐ 11์ฃผ์ฐจ ์ •๋ฆฌ ์ˆ˜์—…๋‚ ์งœ/์ •๋ฆฌ๋‚ ์งœ 2022.05.17/2022.05.22 ํ•™์Šต์ฃผ์ œ 11 ๊ทธ๋ž˜ํ”ฝ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ•™์Šต๋‚ด์šฉ 11 ๊ทธ๋ž˜ํ”ฝ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ทธ๋ž˜ํ”ฝ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๊ธฐ์ดˆ โ‘  ํ”„๋ ˆ์ž„ ์ƒ์„ฑํ•˜๊ธฐ public class BasicPaint{ public static void main(String[] args){ JFrame f = new JFrame("๊ทธ๋ž˜ํ”ฝ ๊ธฐ์ดˆ ํ”„๋กœ๊ทธ๋žจ");// JFrame ๊ฐ์ฒด ์ƒ์„ฑ (์ƒ์„ฑ์ž ์ˆ˜์ •๋ถˆ๊ฐ€) f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setSize(300, 200); f.setVisible(true); } } โ‘ก ์ƒ์„ฑ๋œ ํ”„๋ ˆ์ž„์— ํŒจ๋„ ์ถ”๊ฐ€ํ•˜์—ฌ ๊ทธ๋ฆฌ๊ธฐ (→ JPanel์ด ๊ฐ์ข… ๊ทธ๋ฆฌ๊ธฐ ๋ฉ”์†Œ๋“œ๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ๋•Œ๋ฌธ) public class BasicPaint{ p..
์ž๋ฐ”ํ”„๋กœ๊ทธ๋ž˜๋ฐ 10์ฃผ์ฐจ ์ •๋ฆฌ ์ˆ˜์—…๋‚ ์งœ/์ •๋ฆฌ๋‚ ์งœ 2022.05.10/2022.05.15 ํ•™์Šต์ฃผ์ œ 10 ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ ํ•™์Šต๋‚ด์šฉ 10 ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ ๋ฐฉ์‹ ์ •๋ฆฌ 1. ์ด๋ฒคํŠธ ์ข…๋ฅ˜: ActionEvent 2. ๋ฆฌ์Šค๋„ˆ ์ด๋ฆ„: ActionListener 3. ๋ฆฌ์Šค๋„ˆ ๊ตฌํ˜„: actionPerformed 4. ๋ฆฌ์Šค๋„ˆ ๋“ฑ๋ก: addActionListener Key ์ด๋ฒคํŠธ ๋ฉ”์†Œ๋“œ ์„ค๋ช… keyPress(KeyEvent e) ์‚ฌ์šฉ์ž๊ฐ€ ํ‚ค๋ฅผ ๋ˆŒ๋ €์„ ๊ฒฝ์šฐ์— ํ˜ธ์ถœ keyTyped(KeyEvent e) ์‚ฌ์šฉ์ž๊ฐ€ ๊ธ€์ž๋ฅผ ์ž…๋ ฅํ–ˆ์„ ๊ฒฝ์šฐ์— ํ˜ธ์ถœ keyReleased(KeyEvent e) ์‚ฌ์šฉ์ž๊ฐ€ ํ‚ค์—์„œ ์†์„ ๋–ผ์—ˆ์„ ๊ฒฝ์šฐ์— ํ˜ธ์ถœ โ€ป keyTyped() → Alt, Ctrl, Shift๋Š” ๋ฌธ์žํ‚ค๊ฐ€ ์•„๋‹ˆ๋ฏ€๋กœ ์ž…๋ ฅ ์•ˆ๋จ ํ‚ค ์ด๋ฒคํŠธ ์˜ˆ์ œ ํ‚ค๋ณด๋“œ์—์„œ ๋ฌธ์ž๊ฐ€ ์ž…๋ ฅ๋˜๋ฉด ๋ฌธ..
์ž๋ฐ”ํ”„๋กœ๊ทธ๋ž˜๋ฐ 9์ฃผ์ฐจ ์ •๋ฆฌ ์ˆ˜์—…๋‚ ์งœ/์ •๋ฆฌ๋‚ ์งœ 2022.05.03/2022.05.08 ํ•™์Šต์ฃผ์ œ 10 ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ ํ•™์Šต๋‚ด์šฉ 10 ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ ์ด๋ฒคํŠธ-๊ตฌ๋™ ํ”„๋กœ๊ทธ๋ž˜๋ฐ โ‘  ์‚ฌ์šฉ์ž๊ฐ€ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•œ๋‹ค. โ€ป ๋ฒ„ํŠผ์€ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ์ฃผ์ฒด(ํ‚ค๋ณด๋“œ ๋ˆŒ๋ฆผ, ๋งˆ์šฐ์Šค ์›€์ง์ž„ ๋“ฑ๋„ ์ฃผ์ฒด๊ฐ€ ๋  ์ˆ˜ ์žˆ์Œ) โ‘ก ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. โ€ป ์ด๋ฒคํŠธ ๊ฐ์ฒด๊ฐ€ ์ž๋™์œผ๋กœ ๋งŒ๋“ค์–ด์ง โ‘ข ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋œ๋‹ค. โ€ป ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค, Listener๋ผ๊ณ  ํ•จ โ‘ฃ ์–ด๋–ค ์ž‘์—…์„ ์‹คํ–‰ํ•œ๋‹ค. ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ ๋ฐœ์ƒ๋œ ์ด๋ฒคํŠธ ๊ฐ์ฒด์— ๋ฐ˜์‘ํ•˜์—ฌ ์ด๋ฒคํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฐ์ฒด โ€ป ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ๋Š” ๊ฐ์ฒด ์ƒ์„ฑ๋ถˆ๊ฐ€ ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ ๊ณผ์ • // (1) ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ ๊ตฌํ˜„(5๊ฐ€์ง€ ๋ฐฉ๋ฒ•) class MyListener implements ActionListener{// ActionListener: ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌํ•˜๋Š” ์ธ..
์ž๋ฐ”ํ”„๋กœ๊ทธ๋ž˜๋ฐ 7์ฃผ์ฐจ ์ •๋ฆฌ ์ˆ˜์—…๋‚ ์งœ/์ •๋ฆฌ๋‚ ์งœ 2022.04.19/2022.04.25 ํ•™์Šต์ฃผ์ œ 09 ์ธํ„ฐํŽ˜์ด์Šค, ๋žŒ๋‹ค์‹, ํŒจํ‚ค์ง€ ํ•™์Šต๋‚ด์šฉ 09 ์ธํ„ฐํŽ˜์ด์Šค, ๋žŒ๋‹ค์‹, ํŒจํ‚ค์ง€ Interface ์„œ๋กœ ๋‹ค๋ฅธ ์ •์น˜๋“ค์ด ์—ฐ๊ฒฐ๋˜์–ด ์ƒํ˜ธ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ๊ทœ๊ฒฉ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ๋งž์ง€ ์•Š์œผ๋ฉด ์—ฐ๊ฒฐ ๋ถˆ๊ฐ€ โ€ป ์ถ”์ƒ ํด๋ž˜์Šค๋ณด๋‹ค ๋” ์ถ”์ƒ์ ์ธ ํด๋ž˜์Šค (์ถ”์ƒ ํด๋ž˜์Šค๋Š” ๊ฐ์ฒด ์ƒ์„ฑ ๋ถˆ๊ฐ€ → ์ƒ์†์šฉ) ์ž๋ฐ” ์ธํ„ฐํŽ˜์ด์Šค - ํด๋ž˜์Šค ์‚ฌ์ด์˜ ์ƒํ˜ธ ์ž‘์šฉ์˜ ๊ทœ๊ฒฉ (์ฝ”๋”ฉ์˜ ๋‹จ์œ„๊ฐ€ ํด๋ž˜์Šค์ด๋ฏ€๋กœ ํด๋ž˜์Šค์™€ ํด๋ž˜์Šค ์‚ฌ์ด์˜ ์ƒํ˜ธ ์ž‘์šฉ์˜ ๊ทœ๊ฒฉ์„ ๋‚˜ํƒ€๋‚ธ ๊ฒƒ) ์ธํ„ฐํŽ˜์ด์Šค์˜ ์˜ˆ: ์Šค๋งˆํŠธ ํ™ˆ ์‹œ์Šคํ…œ ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ •์˜ public interface ์ธํ„ฐํŽ˜์ด์Šค_์ด๋ฆ„ { ๋ฐ˜ํ™˜ํ˜• ์ถ”์ƒ๋ฉ”์†Œ๋“œ1(...);// ์ธํ„ฐํŽ˜์ด์Šค์—๋Š” ๋ชธ์ฒด๊ฐ€ ์—†๋Š” ์ถ”์ƒ ๋ฉ”์†Œ๋“œ๋งŒ ์ •์˜ ๋ฐ˜ํ™˜ํ˜• ์ถ”์ƒ๋ฉ”์†Œ๋“œ2(...); ... } // ์˜ˆ pu..
์ž๋ฐ”ํ”„๋กœ๊ทธ๋ž˜๋ฐ 6์ฃผ์ฐจ ์ •๋ฆฌ ์ˆ˜์—…๋‚ ์งœ/์ •๋ฆฌ๋‚ ์งœ 2022.04.12/2022.04.16 ํ•™์Šต์ฃผ์ œ 08 GUI ํ•™์Šต๋‚ด์šฉ 08 GUI - 3๊ฐ€์ง€ ๋ฐฐ์น˜๊ด€๋ฆฌ์ž์™€ 1๊ฐ€์ง€ ๋ฐฐ์น˜๋ฐฉ์‹(๋ฐฐ์น˜๊ด€๋ฆฌ์ž ์‚ฌ์šฉx) ๋ฐฐ์น˜๊ด€๋ฆฌ์ž(Layout manager) ์ปจํ…Œ์ด๋„ˆ ์•ˆ์— ์กด์žฌํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ์˜ ์œ„์น˜์™€ ํฌ๊ธฐ๋ฅผ ์ž๋™์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๊ฐ์ฒด ์ ˆ๋Œ€ ์œ„์น˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ปดํฌ๋„ŒํŠธ๋“ค์ด ๋ฐฐ์น˜๋  ๊ฒฝ์šฐ, ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์˜๋„ํ•œ ๋ฐ”์™€๋Š” ๋‹ค๋ฅธ๊ฒŒ ๋  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋ฐฐ์น˜๊ด€๋ฆฌ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž๋™ํ™”ํ•œ๋‹ค. FlowLayout ์ปดํฌ๋„ŒํŠธ๋“ค์„ ์™ผ์ชฝ์—์„œ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๋ฐฐ์น˜ํ•œ๋‹ค. ๊ธฐ๋ณธ์ ์ธ ์ •๋ ฌ ๋ฐฉ๋ฒ•: ์ค‘์•™ ์ •๋ ฌ ํŒจ๋„๊ณผ ์• ํ”Œ๋ฆฟ์˜ ๋””ํดํŠธ ๋ฐฐ์น˜ ๊ด€๋ฆฌ์ž setComponentOrientation() / applyComponentOrientation() ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฐ์น˜ ๋ฐฉํ–ฅ์„ ์„ค์ •ํ•œ๋‹ค. → ์˜ˆ) pane..
์ž๋ฐ”ํ”„๋กœ๊ทธ๋ž˜๋ฐ 5์ฃผ์ฐจ ์ •๋ฆฌ ์ˆ˜์—…๋‚ ์งœ/์ •๋ฆฌ๋‚ ์งœ 2022.04.05/2022.04.09 ํ•™์Šต์ฃผ์ œ 08 GUI ํ•™์Šต๋‚ด์šฉ 08 GUI GUI(๊ทธ๋ž˜ํ”ฝ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค) → GUI๋Š” ์ปดํฌ๋„ŒํŠธ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. ์ปดํฌ๋„ŒํŠธ: ๋ ˆ์ด๋ธ”, ๋ฒ„ํŠผ, ํ…์ŠคํŠธ ํ•„๋“œ์™€ ๊ฐ™์€ GUI๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ธฐ๋ณธ์ ์ธ ๋นŒ๋”ฉ ๋ธ”๋ก. (์œˆ๋„์šฐ ์‹œ์Šคํ…œ์—์„œ๋Š” ์ปจํŠธ๋กค์ด๋ผ๊ณ ๋„ ๋ถ€๋ฅธ๋‹ค.) ์ž๋ฐ”์—์„œ๋Š” ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋„ ๊ฐ์ฒด๋กœ ๋งŒ๋“ค์–ด์ง„๋‹ค. ์ž๋ฐ” GUI์˜ ์ข…๋ฅ˜ AWT(Abatract Windows Toolkit) ์ดˆ๊ธฐ ์ž๋ฐ” ๋ฒ„์ „์—์„œ ์ œ๊ณตํ–ˆ๋˜ GUI ์šด์˜ ์ฒด์ œ๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์ž์›์„ ์ด์šฉํ•ด ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ์žฅ์ : ์—ฌ๋Ÿฌ ์šด์˜ ์ฒด์ œ์—์„œ ์‰ฝ๊ฒŒ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Œ(→์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์ด ๊ฐ€๋ณ๊ณ , ์ž‘์Œ) ๋‹จ์ : ์‹คํ–‰๋˜๋Š” ์šด์˜ ์ฒด์ œ์— ๋”ฐ๋ผ ์ปดํฌ๋„ŒํŠธ์˜ ๋ชจ์Šต์ด ๋‹ฌ๋ผ์ง ์Šค์œ™(SWING) ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์ž๋ฐ”๋กœ ์ž‘์„ฑ๋˜์–ด ์žˆ์Œ ..
์ž๋ฐ”ํ”„๋กœ๊ทธ๋ž˜๋ฐ 4์ฃผ์ฐจ ์ •๋ฆฌ ์ˆ˜์—…๋‚ ์งœ/์ •๋ฆฌ๋‚ ์งœ 2022.03.29/2022.04.03 ํ•™์Šต์ฃผ์ œ 07 ์ƒ์† ํ•™์Šต๋‚ด์šฉ 07 ์ƒ์† ์ƒ์†(inheritance): ๊ธฐ์กด์— ์กด์žฌํ•˜๋Š” ํด๋ž˜์Šค๋กœ๋ถ€ํ„ฐ ์ฝ”๋“œ์™€ ๋ฐ์ดํ„ฐ๋ฅผ ์ด์–ด๋ฐ›๊ณ  ์ž์‹ ์ด ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ธฐ๋ฒ• ์ƒ์†์˜ ํ˜•์‹ ์ž๋ฐ”์—์„œ์˜ ์ƒ์†์€ ํด๋ž˜์Šค ์ด๋ฆ„ ๋’ค์— extends๋ฅผ ์จ์ฃผ๊ณ  ๋ถ€๋ชจ ํด๋ž˜์Šค ์ด๋ฆ„์€ ์ ์–ด์ค€๋‹ค. โ€ป extends: ํ™•์žฅ(๋˜๋Š” ํŒŒ์ƒ) → ๋ถ€๋ชจ ํด๋ž˜์Šค๋ฅผ ํ™•์žฅํ•˜์—ฌ ์ž์‹ ํด๋ž˜์Šค๋ฅผ ์ž‘์„ฑํ•œ๋‹ค๋Š” ์˜๋ฏธ. class Childclass extends Parentclass// Childclass: ์ž์‹or์„œ๋ธŒํด๋ž˜์Šค, Parentclass: ๋ถ€๋ชจor์ˆ˜ํผํด๋ž˜์Šค { // ํ•„๋“œ์™€ ๋ฉ”์†Œ๋“œ ์ถ”๊ฐ€ } ๋”๋ณด๊ธฐ ๋ฌด์—‡์ด ์ƒ์†์ด ๋˜๋Š”๊ฐ€? ๋ถ€๋ชจ ํด๋ž˜์Šค์˜ ํ•„๋“œ์™€ ๋ฉ”์†Œ๋“œ๊ฐ€ ์ž์‹ ํด๋ž˜์Šค๋กœ ์ƒ์†๋œ๋‹ค. ๋”ฐ๋ผ์„œ ์ž์‹ ํด๋ž˜์Šค๋Š” ๋ถ€๋ชจ ..
์ž๋ฐ” ๊ณต๋ถ€ ์ค‘ ๊ถ๊ธˆํ•œ ์  - print์™€ println์˜ ์ฐจ์ด https://moon1226.tistory.com/12 JAVA print, printf, println ์ฐจ์ด์  print : ๊ด„ํ˜ธ์•ˆ ๋‚ด์šฉ์„ ๋‹จ์ˆœํžˆ ์ถœ๋ ฅ. ๊ฐœํ–‰๋ฌธ์ž(=์ค„๋ฐ”๊ฟˆ๋ฌธ์ž=\n) ํฌํ•จ์•ˆ๋จ. printf : C์—์„œ์˜ printf์™€ ๋™์ผ. %d, %s ๋“ฑ์„ ์“ฐ๊ธฐ์œ„ํ•ด ์‚ฌ์šฉ. ๊ฐœํ–‰๋ฌธ์ž ํฌํ•จX println : ๊ด„ํ˜ธ์•ˆ ๋‚ด์šฉ์„ ์ถœ๋ ฅํ•œ ํ›„ ๋งˆ์ง€๋ง‰์— ๊ฐœํ–‰๋ฌธ moon1226.tistory.com - Scanner ํด๋ž˜์Šค https://st-lab.tistory.com/92 ์ž๋ฐ” [JAVA] - ์Šค์บ๋„ˆ(Scanner) ํด๋ž˜์Šค์™€ ์ž…๋ ฅ ์ž๋ฐ”๋ฅผ ์ฒ˜์Œ ๋ฐฐ์šธ ๋•Œ ์•„๋งˆ ๋Œ€๋ถ€๋ถ„์€ ํ‚ค๋ณด๋“œ๋กœ ์ž…๋ ฅ๋ฐ›๊ธฐ ์œ„ํ•ด Scanner ๋ผ๋Š” ํด๋ž˜์Šค๋ฅผ ์ผ์„ ๊ฒƒ์ด๋‹ค. ์ž๋ฐ” ์™ธ์—๋„ ๋‹ค์–‘ํ•œ ์–ธ์–ด๋“ค์€ ๊ฐ๊ฐ์˜ ์ž…๋ ฅ๋ฐฉ์‹์ด..