InputMap — 입력 맵

InputMap — 입력 맵

InputMap은 입력 이벤트(현재는 KeyStroke만 사용)와 Object 사이의 바인딩을 제공하는 클래스입니다. 보통 키가 눌렸을 때 수행할 Action을 결정하기 위해 ActionMap과 함께 사용합니다.

출처: Java API Reference

본문

public class InputMap extends Object implements Serializable

InputMap은 입력 이벤트(현재는 KeyStroke만 사용)와 Object 사이의 바인딩을 제공합니다. InputMap은 보통 ActionMap과 함께 사용해 키가 눌렸을 때 수행할 Action을 결정합니다. InputMap은 이 InputMap에 정의되지 않은 바인딩을 검색하는 부모를 가질 수 있습니다. ActionMap과 마찬가지로 순환을 만들면, 예를 들어 InputMap am = new InputMap(); InputMap bm = new InputMap(); am.setParent(bm); bm.setParent(am);처럼 만들면 일부 메서드가 StackOverflowError를 발생시킵니다.

InputMap

public InputMap()

부모도 매핑도 없는 InputMap을 생성합니다.

setParent

public void setParent(InputMap map)

이 InputMap의 부모를 설정합니다.

  • 매개변수: map - 이 InputMap의 부모가 되는 InputMap

getParent

public InputMap getParent()

이 InputMap의 부모를 가져옵니다.

  • 반환값: 이 InputMap의 부모인 InputMap, 부모가 없으면 null

put

public void put(KeyStroke keyStroke, Object actionMapKey)

keyStroke에 대한 actionMapKey 바인딩을 추가합니다. actionMapKey가 null이면 keyStroke의 현재 바인딩을 제거합니다.

  • 매개변수: keyStroke - KeyStroke
  • 매개변수: actionMapKey - 액션 맵 키

get

public Object get(KeyStroke keyStroke)

keyStroke에 대한 바인딩을 반환하며, 바인딩이 로컬에 정의되지 않았으면 부모 InputMap에 메시지를 보냅니다.

  • 매개변수: keyStroke - 바인딩을 가져올 KeyStroke
  • 반환값: keyStroke에 대한 바인딩

remove

public void remove(KeyStroke key)

이 InputMap에서 key에 대한 바인딩을 제거합니다.

  • 매개변수: key - 바인딩을 제거할 KeyStroke

clear

public void clear()

이 InputMap에서 모든 매핑을 제거합니다.

keys

public KeyStroke[] keys()

이 InputMap에 바인딩된 KeyStroke들을 반환합니다.

  • 반환값:InputMap에 바인딩된 KeyStroke 배열

size

public int size()

KeyStroke 바인딩 수를 반환합니다.

  • 반환값: KeyStroke 바인딩 수

allKeys

public KeyStroke[] allKeys()

이 InputMap과 그 부모에 정의된 KeyStroke 배열을 반환합니다. 이 메서드는 부모에 정의된 키도 포함한다는 점에서 keys()와 다릅니다.

  • 반환값:InputMap과 그 부모에 정의된 KeyStroke 배열

더 알아보기