MapleStory Finger Point Cute Line Smiley Blinking Hello Kitty Angel MapleStory Finger Point

๐Ÿ’Ž JAVA/๐Ÿ“š๋ช…ํ’ˆ JAVA_ESSENTIAL

หšโ‚Šโœฉโ€งโ‚Š (๊ฐœ๋…) ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ - ๋ช…ํ’ˆ JAVA ESSENTIAL หšโ‚Šโœฉโ€งโ‚Š

HYEJU01 2024. 4. 10. 22:45

์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

์ด๋ฒคํŠธ ๋ฐœ์ƒ์— ์˜ํ•ด ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ํ๋ฆ„์ด ๊ฒฐ์ •๋˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„

  • ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ ์ฝ”๋“œ๋ฅผ ๋ณด์œ  → ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ

์ด๋ฒคํŠธ

ํ‚ค ์ž…๋ ฅ, ๋งˆ์šฐ์Šค ์ž…๋ ฅ, ๋งˆ์šฐ์Šค ๋“œ๋ž˜๊ทธ → ์‚ฌ์šฉ์ž ์•ก์…˜

์„ผ์„œ ๋“ฑ → ์™ธ๋ถ€ ์žฅ์น˜ ์ž…๋ ฅ

๋ฐ์ดํ„ฐ ์ˆ˜์‹ , ์Šค๋ ˆ๋“œ ๋ฉ”์‹œ์ง€ ์ˆ˜์‹  → ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•œ

์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ

์ด๋ฒคํŠธ ์ฒ˜๋ฆฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ ์ฝ”๋“œ → ์ปดํฌ๋„ŒํŠธ์— ์—ฐ๊ฒฐ๋˜์–ด์•ผ ์ž‘๋™ํ•จ

์ด๋ฒคํŠธ ๋ฐœ์ƒ → JVM → ์ด๋ฒคํŠธ ๋ถ„๋ฐฐ ์Šค๋ ˆ๋“œ (์ด๋ฐด๋“œ ๊ฐ์ฒด ์ƒ์„ฑ )

  • ์ด๋ฒคํŠธ ์†Œ์Šค : ์ด๋ฒคํŠธ๋ฅผ ๋ฐœ์ƒ์‹œํ‚จ ์ปดํฌ๋„ŒํŠธ
  • ์ด๋ฒคํŠธ ๊ฐ์ฒด : ์ด๋ฒคํŠธ ๋ฐœ์ƒ์— ๋Œ€ํ•œ ์ •๋ณด ์ œ๊ณต ๊ฐ์ฒด
  • ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ : ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌํ•˜๋Š” ์ž๋ฐ”ํ”„๋กœ๊ทธ๋žจ ์ฝ”๋“œ
  • ์ด๋ฒคํŠธ ๋ถ„๋ฐฐ ์Šค๋ ˆ๋“œ : ๋ฌดํ•œ๋ฃจํ”„๋ฅผ ๋Œ๋ฉฐ ์ด๋ฒคํŠธ ๋ฐœ์ƒ ์‹œ ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ๋ฅผ ์ฐพ์•„ ํ˜ธ์ถœ

์ด๋ฐดํŠธ ๊ฐ์ฒด

๋ชจ๋“  ์ด๋ฒคํŠธ ๊ฐ์ฒด ⇒ java.util.EventObject ํด๋ž˜์Šค ์ƒ์†๋ฐ›์Œ

  • ๊ฐ์ฒด ์ •๋ณด : ์ด๋ฒคํŠธ ์ข…๋ฅ˜ / ์†Œ์Šค,์ด๋ฒคํŠธ ๋ฐœ์ƒ ์ขŒ๋ฃŒ / ์ปดํฌ๋„ŒํŠธ ์ขŒ๋ฃŒ ,์ด๋ฒคํŠธ ๋ฐœ์ƒ ๋ฒ„ํŠผ / ๋ฌธ์ž์—ด ,๋งˆ์šฐ์Šค ๋ฒ„ํŠผ ๋ฒˆํ˜ธ / ๋งˆ์šฐ์Šค ํด๋ฆญ ํšŸ์ˆ˜ ,์ž…๋ ฅ๋œ ํ‚ค ์ฝ”๋“œ ๊ฐ’ / ๋ฌธ์ž ๊ฐ’
  • getSource() : ์–ด๋–ค ์ปดํฌ๋„ŒํŠธ์—์„œ ์ด๋ฒคํŠธ ๋ฐœ์ƒ ? → Obejct ํƒ€์ž… ๋ฆฌํ„ด → (JButton) ์œผ๋กœ ๋‹ค์šด์บ์ŠคํŒ… (ํ˜•๋ณ€ํ™˜)
  • ActionEvenet, ItemEvent ๋“ฑ๋“ฑ ๋‹ค์–‘ํ•จ !

์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ ์ธํ„ฐํŽ˜์ด์Šค

๋ฆฌ์Šคํ„ฐ ์ธํ„ฐํŽ˜์ด์Šค ์ƒ์† → ์ถ”์ƒ ๋ฉ”์†Œ๋“œ ๊ตฌํ˜„ → ์ด๋ฒคํŠธ๋ฆฌ์Šค๋„ˆ ์ž‘์„ฑ

  • Action → ActionListener → void actionPerformed(ActionEvent) <์ถ”์ƒ๋ฉ”์†Œ๋“œ> ์ด๋ฒคํŠธ ์ข…๋ฅ˜์— ๋”ฐ๋ฅธ ์ธํ„ฐํŽ˜์ด์Šค๋Š” ๋‹ค์–‘ํ•จ !!
  1. ์ด๋ฒคํŠธ์™€ ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ ์„ ํƒ
  2. ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ ํด๋ž˜์Šค ์ž‘์„ฑ : ๋…๋ฆฝ/๋‚ด๋ถ€/์ต๋ช…
  3. ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ ๋“ฑ๋ก (์ปดํฌ๋„ŒํŠธ์— ๋“ฑ๋ก)
componet.addXXXListener(listener);

์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ ํด๋ž˜์Šค

  1. ๋…๋ฆฝ ํด๋ž˜์Šค : ๋…๋ฆฝ์œผ๋กœ ์ž‘์„ฑ
  2. ๋‚ด๋ถ€ ํด๋ž˜์Šค : ํด๋ž˜์Šค ๋‚ด๋ถ€์— ์ž‘์„ฑ ( ํด๋ž˜์Šค ๋ฉ”์†Œ๋“œ ์ฒ˜๋Ÿผ ์„ ์–ธ /ํด๋ž˜์Šค๊ฐ€ ์ •์˜ํ•œ ๋ฉค๋ฒ„ ๋ณ€์ˆ˜ ๋งˆ์Œ๋Œ€๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ / JFrame ๋ชจ๋“  ๋ฉค๋ฒ„ ์ ‘๊ทผ ๊ฐ€๋Šฅ )
  3. ์ต๋ช… ํด๋ž˜์Šค : ํด๋ž˜์Šค ์ด๋ฆ„ X + ํด๋ž˜์Šค ์„ ์–ธ + ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ์„ ํ•˜๋‚˜๋กœ ํ•ฉ์นจ ( ์งง์€ ์ฝ”๋“œ, ํ•œ๋ฒˆ ์‚ฌ์šฉ ์‹œ์—๋Š” ์ต๋ช… ํด๋ž˜์Šค ์ถ”์ฒœ)
new ์ต๋ช…ํด๋ž˜์Šค์˜ ์Šˆํผํด๋ž˜์Šค (์ƒ์„ฑ์ž์ธ์ž๋“ค) {}

Adapter ์–ด๋Œ‘ํ„ฐ ํด๋ž˜์Šค

๋ฆฌ์Šค๋„ˆ ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ถ”์ƒ ๋ฉ”์†Œ๋“œ๋ฅผ ๋‹จ์ˆœ ๋ฆฌํ„ดํ•˜๋„๋ก ๋ฏธ๋ฆฌ ๊ตฌํ˜„ํ•ด๋†“์€ ํด๋ž˜์Šค (⇒ ์ธํ„ฐํŽ˜์ด์Šค ์ƒ์†์‹œ ๋ฉ”์†Œ๋“œ๋ฅผ ๋‹ค ๊ตฌํ˜„ํ•ด์•ผํ•˜๋Š” ๋ฒˆ๊ฑฐ๋กœ์›€์ด ์žˆ๋Š”๋ฐ ์–ด๋Œ‘ํ„ฐ๋ฅผ ์ƒ์† ๋ฐ›์œผ๋ฉด ํ•„์š”๊ฐ€ ์—†์Œ)

  • ActionListener ์˜ ๊ฒฝ์šฐ ๋ฉ”์†Œ๋“œ๊ฐ€ ํ•˜๋‚˜๋ผ ์–ด๋Œ‘ํ„ฐ ์—†์Œ

Key ์ด๋ฒคํŠธ

key ์ด๋ฒคํŠธ : ์‚ฌ์šฉ์ž๊ฐ€ ํ‚ค ์ž…๋ ฅํ•  ๋•Œ ๋ฐœ ์ƒ

focus ํฌ์ปค์Šค : ํ‚ค ์ž…๋ ฅ ๋…์ ๊ถŒ ( ํฌ์ปค์Šค๋ฅผ ๊ฐ€์ง„ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ํ‚ค ์ž…๋ ฅ์„ ๋…์  ⇒ ์ปดํฌ๋„ŒํŠธ์—์„œ๋งŒ Key์ด๋ฒคํŠธ ๋ฐœ์ƒ)

KeyListener

  1. keyPressed() ํ‚ค๋ฅผ ๋ˆ„๋ฅธ ์ˆœ๊ฐ„
  2. KeyReleased() ๋ˆ„๋ฅธ ํ‚ค๋ฅผ ๋–ผ๋Š” ์ˆœ๊ฐ„
  3. KeyTyped() ๋ˆ„๋ฅธ ํ‚ค๊ฐ€ ๋–ผ์–ด์ง€๋Š” ์ˆœ๊ฐ„ (์œ ๋‹ˆ์ฝ”๋“œ์ธ ๊ฒฝ์šฐ์—๋งŒ)
  • ํ˜ธ์ถœ ์ˆœ์„œ P → T → R
component.addKeyListener(myKeyListener);
  • ํ‚ค ์ด๋ฒคํŠธ ๋ฐœ์ƒ → KeyEvent (ํ‚ค ์ •๋ณด๊ฐ€ ๋‹ด๊น€)
  • char KeyEvent,getKeyChar() → ์ž…๋ ฅ๋œ ํ‚ค์˜ ์œ ๋‹ˆ์ฝ”๋“œ ๊ฐ’ ๋ฆฌํ„ด
  • int KeyEvnet.getKeyCode() → ํ‚ค ์ฝ”๋“œ ๊ฐ’ ๋ฆฌํ„ด → ๊ฐ€์ƒํ‚ค (VK_) ์™€ ๋น„๊ต ๊ฐ€์ƒํ‚ค๋Š” ๋งŽ์Œ !! ๊ฒ€์ƒ‰!!

Mouse ์ด๋ฒคํŠธ

7๊ฐ€์ง€ ๊ฒฝ์šฐ์— ๋ฐœ์ƒํ•œ๋‹ค.

  1. mouseEntered
  2. mouseExited
  3. mousepressed
  4. mouseReleased
  5. mouseClicked
  6. mouseDragged
  7. mouseMoved
  • ๋งˆ์šฐ์Šค ๋ˆ„๋ฅด๊ณ  ๋–ผ๊ธฐ : Press → Release → Click
  • ๋“œ๋ž˜๊ทธ : press → Drag → Drag → Release

MouseListener / MouseMotionListener

compoent.addMouseListener(myMouseListnenr);
compoent.addMouseMotionListener(myMouseListnenr); // dragged(),moved() ์ฒ˜๋ฆฌ์‹œ
  • ํฌ์ธํ„ฐ ์œ„์น˜ : getX(), getY ()
  • ํด๋ฆญ ํšŸ์ˆ˜ : getClicCount()