안녕하세요

프로그램 과정에서 막혔던 문제들에 대한 해결책 정리


페이지 목록

2011년 8월 15일 월요일

KeyEvent 와 KeyListener

KeyEvent는 자바에서 Key를 눌렀을때 발생하는 Event이다.

 Java 홈페이지를 보면 알겠지만 모든 키에 다 이름을 할당해 놓았다.

A를 누르면 VK_A B를 누르면 VK_B 등 등

 VK_* 로써 알기 쉽게 설명이 되어 있다.

 KeyListener를 통해 이 Event들을 받아서 컨트롤 할 수 있다.

cPanel.addKeyListener(new ListenKey());

 KeyLIstener를 사용하기 위해서는 이 처럼 addKeyListener() Fuction을

 사용해서 나타낸다.

 이때 넘어오는 파라미터 값은 KeyListener를 상속 받은 클래스면 된다.


class ListenKey implements KeyListener{

@Override
public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
switch(e.getKeyCode()){
case KeyEvent.VK_LEFT:
cx--;
cPanel.repaint();
break;
case KeyEvent.VK_RIGHT:
cx++;
cPanel.repaint();
break;
case KeyEvent.VK_UP:
cy--;
cPanel.repaint();
break;
case KeyEvent.VK_DOWN:
cy++;
cPanel.repaint();
break;

}
}

 보다시피 KeyListener에는 3가지 Method가 Implements 되어 있어 반드시

 추가해야 한다. 세 가지 Method는 알기 쉽다.

 이름에서도 알수 있다 시피 Key가 눌러 졌을때, Key를 땠을 때,

 Key를 쳤을 때에 각각의 Method가 호출되게 된다.

 위 코드에서는 키가 눌러졌을 때 Object를 움직이는 간단한 코드를 삽입하였다.


댓글 없음:

댓글 쓰기