java/GUI

키 이벤트

appmaster 2019. 5. 22. 21:55

키 이벤트(key event)는 사용자가 키보드를 이용하여 입력을 하는 경우에 발생한다. 키를 누를 때도 발생하지만 키에서 손을 떼는 경우에도 발생한다. 어떤 클래스가 키보드 이벤트를 처리하려면 keyListener 인터페이스를 구현하여야 한다. KeyListener 인터페이스는 다음과 같은 가상 메소드를 가지고 있다.

public class MyListener implements KeyListener {
   public void keyPressed(KeyEvenet e) {   } // 사용자가 키를 눌렀을 경우에 호출
   public void keyReleased(KeyEvent e) {   } // 사용자가 키에서 손을 떼었을 경우에 호출
   public void keyTyped(KeyEvent e)    {   } // 사용자가 글자를 입력했을 경우에 호출
   }

이 3가지가 꼭 들어가야지 KeyListener 인터페이스에 정의된 메소드들의 매개 변수 e는 사용자가 입력한 키보드의 가상 키 번호이다. 많이 사용되는 가상 키 번호는 KeyEvent에 정의되어 있고 다음과 같다.

 

상수 설명 상수 설명
VK_ENTER 엔터키 VK_F1 f1 키
VK_END end 키 VK_F2 f2 키
VK_CAPSLOCK capslock 키 ...  
VK_ALT alt 키 VK_F12 f12 키
VK_LEFT 왼쪽 화살표 VK_PAGE_DOWN page down 키
VK_RIGHT 오른쪽 화살표 VK_PAGE_UP page up 키

 

키보드 포커스

KeyEvent가 발생하려면 컴포넌트가 반드시 키보드 포커스를 가지고 있어야 한다. 키보드 포커스를 얻으려면 requestFocus(), setFocusable(true)을 호출하여야 한다.

panel.requestFocus();
panel.setFocusable(true);

'java > GUI' 카테고리의 다른 글

자바 JTextArea, JTextField  (0) 2019.05.25
자바 기초 컴포넌트들  (0) 2019.05.11
패널 사용하기  (0) 2019.05.11
배치 관리자  (0) 2019.05.11
자바 JFrame 클래스  (0) 2019.05.11