키 이벤트

·2025년 6월 1일

Power Java

목록 보기
59/75

10.4 키 이벤트

키 이벤트

: 사용자가 키보드를 이용하여 입력을 하는 경우에 발생한다.

키보드 이벤트의 형태

  • keyPressd 이벤트
    : 사용자가 키를 누르면 이벤트가 발생한다.
  • keyReleased 이벤트
    : 사용자가 키에서 손을 떼면 이벤트가 발생한다.
  • keyTyped 이벤트
    : 입력된 유니코드 문자가 전송된다.

포커스

: 키 입력을 받을 권리이다.
-컴포넌트가 키 이벤트를 받으려면 반드시 포커스를 가지고 있어야 한다.
*일반적으로 오직 한 개의 컴포넌트만 포커스를 가지고 있어, 키 입력을 독점하게 된다.

프로그램이 강제적으로 키보드 포커스를 요청하는 방법

  • requestFocus()
  • setFocusable(true)
    => tab키를 눌러 변경할 수도 있다.

keyListener 인터페이스

-보유 중인 추상 메소드

KeyEvent 클래스

-키 이벤트가 발생하여 콜백 메소드가 호출되면
KeyEvent 객체가 전달된다.

  1. getKeyChar()
    : 사용자가 입력한 문자를 얻을 때 호출한다.
    -> 유니코드가 반환된다.

  2. getKeyCode()
    : 글자가 아니고 키보드의 어떤 자판을 눌렀는지 알고 싶은 경우 호출한다.
    *키코드란 가상 키보드의 각 키를 나타내는 번호이다.

-가장 많이 사용되는 가상 키보드의 키코드

Ex)

public void keyPressed(KeyEvent e) {
	if (e.getKeyCode() == KeyEvent.VK_ENTER) {
    	// 처리할 내용
    }
}
  1. isControlDown()
    : 사용자가 컨트롤 키를 누르고 있는지 알 수 있다.
    Ex)
public void keyPressed(KeyEvent e) {
	if (e.isControlDown()) {
    	// 처리할 내용
    }
}


1. 해당 컴포넌트에 포커스가 있어야 한다.
키 리스너를 등록해야 한다.
2. requestFocus()
3. KeyPressed(KeyEvent e)
4. KeyPressed() 또는 KeyType()으로 처리
5.
1) KeyPressed()
2) KeyTyped()
3) KeyReleased()

0개의 댓글