์ด๋ฒคํธ ๊ธฐ๋ฐ ํ๋ก๊ทธ๋๋ฐ
์ด๋ฒคํธ ๋ฐ์์ ์ํด ํ๋ก๊ทธ๋จ ์คํ ํ๋ฆ์ด ๊ฒฐ์ ๋๋ ํ๋ก๊ทธ๋๋ฐ ํจ๋ฌ๋ค์
- ์ด๋ฒคํธ ๋ฆฌ์ค๋ ์ฝ๋๋ฅผ ๋ณด์ → ์ด๋ฒคํธ ์ฒ๋ฆฌ
์ด๋ฒคํธ
ํค ์ ๋ ฅ, ๋ง์ฐ์ค ์ ๋ ฅ, ๋ง์ฐ์ค ๋๋๊ทธ → ์ฌ์ฉ์ ์ก์
์ผ์ ๋ฑ → ์ธ๋ถ ์ฅ์น ์ ๋ ฅ
๋ฐ์ดํฐ ์์ , ์ค๋ ๋ ๋ฉ์์ง ์์ → ๋คํธ์ํฌ๋ฅผ ํตํ
์ด๋ฒคํธ ๋ฆฌ์ค๋
์ด๋ฒคํธ ์ฒ๋ฆฌํ๋ ํ๋ก๊ทธ๋จ ์ฝ๋ → ์ปดํฌ๋ํธ์ ์ฐ๊ฒฐ๋์ด์ผ ์๋ํจ
์ด๋ฒคํธ ๋ฐ์ → JVM → ์ด๋ฒคํธ ๋ถ๋ฐฐ ์ค๋ ๋ (์ด๋ฐด๋ ๊ฐ์ฒด ์์ฑ )
- ์ด๋ฒคํธ ์์ค : ์ด๋ฒคํธ๋ฅผ ๋ฐ์์ํจ ์ปดํฌ๋ํธ
- ์ด๋ฒคํธ ๊ฐ์ฒด : ์ด๋ฒคํธ ๋ฐ์์ ๋ํ ์ ๋ณด ์ ๊ณต ๊ฐ์ฒด
- ์ด๋ฒคํธ ๋ฆฌ์ค๋ : ์ด๋ฒคํธ ์ฒ๋ฆฌํ๋ ์๋ฐํ๋ก๊ทธ๋จ ์ฝ๋
- ์ด๋ฒคํธ ๋ถ๋ฐฐ ์ค๋ ๋ : ๋ฌดํ๋ฃจํ๋ฅผ ๋๋ฉฐ ์ด๋ฒคํธ ๋ฐ์ ์ ์ด๋ฒคํธ ๋ฆฌ์ค๋๋ฅผ ์ฐพ์ ํธ์ถ
์ด๋ฐดํธ ๊ฐ์ฒด
๋ชจ๋ ์ด๋ฒคํธ ๊ฐ์ฒด ⇒ java.util.EventObject ํด๋์ค ์์๋ฐ์
- ๊ฐ์ฒด ์ ๋ณด : ์ด๋ฒคํธ ์ข ๋ฅ / ์์ค,์ด๋ฒคํธ ๋ฐ์ ์ข๋ฃ / ์ปดํฌ๋ํธ ์ข๋ฃ ,์ด๋ฒคํธ ๋ฐ์ ๋ฒํผ / ๋ฌธ์์ด ,๋ง์ฐ์ค ๋ฒํผ ๋ฒํธ / ๋ง์ฐ์ค ํด๋ฆญ ํ์ ,์ ๋ ฅ๋ ํค ์ฝ๋ ๊ฐ / ๋ฌธ์ ๊ฐ
- getSource() : ์ด๋ค ์ปดํฌ๋ํธ์์ ์ด๋ฒคํธ ๋ฐ์ ? → Obejct ํ์ ๋ฆฌํด → (JButton) ์ผ๋ก ๋ค์ด์บ์คํ (ํ๋ณํ)
- ActionEvenet, ItemEvent ๋ฑ๋ฑ ๋ค์ํจ !
์ด๋ฒคํธ ๋ฆฌ์ค๋ ์ธํฐํ์ด์ค
๋ฆฌ์คํฐ ์ธํฐํ์ด์ค ์์ → ์ถ์ ๋ฉ์๋ ๊ตฌํ → ์ด๋ฒคํธ๋ฆฌ์ค๋ ์์ฑ
- Action → ActionListener → void actionPerformed(ActionEvent) <์ถ์๋ฉ์๋> ์ด๋ฒคํธ ์ข ๋ฅ์ ๋ฐ๋ฅธ ์ธํฐํ์ด์ค๋ ๋ค์ํจ !!
- ์ด๋ฒคํธ์ ์ด๋ฒคํธ ๋ฆฌ์ค๋ ์ ํ
- ์ด๋ฒคํธ ๋ฆฌ์ค๋ ํด๋์ค ์์ฑ : ๋ ๋ฆฝ/๋ด๋ถ/์ต๋ช
- ์ด๋ฒคํธ ๋ฆฌ์ค๋ ๋ฑ๋ก (์ปดํฌ๋ํธ์ ๋ฑ๋ก)
componet.addXXXListener(listener);
์ด๋ฒคํธ ๋ฆฌ์ค๋ ํด๋์ค
- ๋ ๋ฆฝ ํด๋์ค : ๋ ๋ฆฝ์ผ๋ก ์์ฑ
- ๋ด๋ถ ํด๋์ค : ํด๋์ค ๋ด๋ถ์ ์์ฑ ( ํด๋์ค ๋ฉ์๋ ์ฒ๋ผ ์ ์ธ /ํด๋์ค๊ฐ ์ ์ํ ๋ฉค๋ฒ ๋ณ์ ๋ง์๋๋ก ์ฌ์ฉ ๊ฐ๋ฅ / JFrame ๋ชจ๋ ๋ฉค๋ฒ ์ ๊ทผ ๊ฐ๋ฅ )
- ์ต๋ช ํด๋์ค : ํด๋์ค ์ด๋ฆ X + ํด๋์ค ์ ์ธ + ์ธ์คํด์ค ์์ฑ์ ํ๋๋ก ํฉ์นจ ( ์งง์ ์ฝ๋, ํ๋ฒ ์ฌ์ฉ ์์๋ ์ต๋ช ํด๋์ค ์ถ์ฒ)
new ์ต๋ช
ํด๋์ค์ ์ํผํด๋์ค (์์ฑ์์ธ์๋ค) {}
Adapter ์ด๋ํฐ ํด๋์ค
๋ฆฌ์ค๋ ์ธํฐํ์ด์ค์ ์ถ์ ๋ฉ์๋๋ฅผ ๋จ์ ๋ฆฌํดํ๋๋ก ๋ฏธ๋ฆฌ ๊ตฌํํด๋์ ํด๋์ค (⇒ ์ธํฐํ์ด์ค ์์์ ๋ฉ์๋๋ฅผ ๋ค ๊ตฌํํด์ผํ๋ ๋ฒ๊ฑฐ๋ก์์ด ์๋๋ฐ ์ด๋ํฐ๋ฅผ ์์ ๋ฐ์ผ๋ฉด ํ์๊ฐ ์์)
- ActionListener ์ ๊ฒฝ์ฐ ๋ฉ์๋๊ฐ ํ๋๋ผ ์ด๋ํฐ ์์
Key ์ด๋ฒคํธ
key ์ด๋ฒคํธ : ์ฌ์ฉ์๊ฐ ํค ์ ๋ ฅํ ๋ ๋ฐ ์
focus ํฌ์ปค์ค : ํค ์ ๋ ฅ ๋ ์ ๊ถ ( ํฌ์ปค์ค๋ฅผ ๊ฐ์ง ์ปดํฌ๋ํธ๊ฐ ํค ์ ๋ ฅ์ ๋ ์ ⇒ ์ปดํฌ๋ํธ์์๋ง Key์ด๋ฒคํธ ๋ฐ์)
KeyListener
- keyPressed() ํค๋ฅผ ๋๋ฅธ ์๊ฐ
- KeyReleased() ๋๋ฅธ ํค๋ฅผ ๋ผ๋ ์๊ฐ
- KeyTyped() ๋๋ฅธ ํค๊ฐ ๋ผ์ด์ง๋ ์๊ฐ (์ ๋์ฝ๋์ธ ๊ฒฝ์ฐ์๋ง)
- ํธ์ถ ์์ P → T → R
component.addKeyListener(myKeyListener);
- ํค ์ด๋ฒคํธ ๋ฐ์ → KeyEvent (ํค ์ ๋ณด๊ฐ ๋ด๊น)
- char KeyEvent,getKeyChar() → ์ ๋ ฅ๋ ํค์ ์ ๋์ฝ๋ ๊ฐ ๋ฆฌํด
- int KeyEvnet.getKeyCode() → ํค ์ฝ๋ ๊ฐ ๋ฆฌํด → ๊ฐ์ํค (VK_) ์ ๋น๊ต ๊ฐ์ํค๋ ๋ง์ !! ๊ฒ์!!
Mouse ์ด๋ฒคํธ
7๊ฐ์ง ๊ฒฝ์ฐ์ ๋ฐ์ํ๋ค.
- mouseEntered
- mouseExited
- mousepressed
- mouseReleased
- mouseClicked
- mouseDragged
- mouseMoved
- ๋ง์ฐ์ค ๋๋ฅด๊ณ ๋ผ๊ธฐ : Press → Release → Click
- ๋๋๊ทธ : press → Drag → Drag → Release
MouseListener / MouseMotionListener
compoent.addMouseListener(myMouseListnenr);
compoent.addMouseMotionListener(myMouseListnenr); // dragged(),moved() ์ฒ๋ฆฌ์
- ํฌ์ธํฐ ์์น : getX(), getY ()
- ํด๋ฆญ ํ์ : getClicCount()