키보드 키 0-9 (실제 숫자)를 입력해야하지만 숫자가 아닌 자바 로봇 클래스를 실행 중입니다. 웬일인지, 내가 쓰지 않고있는 자바 애플릿은 숫자 키보드에서 0-9 키를 받아들이지 않고 표준 키보드 위의 0-9 행만 받아 들인다. 그러나 Java 로봇 클래스에는 VK_NUMPAD # KeyEvent가있는 것으로 보입니다. 처음에는 VK_1 이벤트를 시도했지만 숫자와는 아무 관계가없는 것으로 나타났습니다 (오히려 처음 0-9 ASCII 문자). 최상위 행을 얻는 방법은 없습니까? 내가 사용하고있는 로봇은 다른 것보다 잘 작동하며 "VK_P"및 "VK_UP"과 같은 키를 기꺼이 입력합니다. 감사합니다.자바 로봇으로 숫자가 아닌 숫자를 입력하는 방법은 무엇입니까?
0
A
답변
0
This은 키 코드의 최종 링크 여야합니다. e.getKeyCode()
을 사용할 때 VK_NUMPAD의 코드는 각각 0-9의 숫자에 대해 96-105라는 것을 알 수 있습니다. 이것은 num_lock이 켜져있는 경우에만 해제되며, 다른 코드가 꺼져있는 경우이 코드를 얻게됩니다.
VK_1에서의 시도가 정확 했어야합니다. 그것은 맨 위 줄의 1에 해당하는 코드 49입니다. 내가 가진 애플릿을 가지고 이것을 시도했습니다. 나는 KeyListener에 갇혀 있으며, 이것이 올바른지 확인했다. 48-57은 내가 VK_0 ... VK_9로 준 링크에 나열되어있는 맨 위 행의 0-9에 해당합니다. 내가 VK_1 키보드의 상단에있는 1 문자에 대한 올바른 답변을했기 때문에 그것을 재 매핑하는 num_lock 키 (숫자 패드를 무시) 같은 일종의 오버라이드가 있어야합니다.
사용중인 애플릿에 대한 정보를 제공해 주실 수 있습니까? 또는 VK_NUMPAD # 이벤트가있는 로봇 클래스? – Iain
애플릿은 http://www.webpacman.com/mspacman.htm입니다. 번호가 아닌 팩맨을 불만없이 옮길 수있는 VK_UP과 같은 KeyEvents를 허용합니다. 로봇 클래스는 http://docs.oracle.com/javase/1.4.2/docs/api/java/awt/Robot.html의 표준 Java 로봇입니다. 또한, VK_NUMPAD [#]는 VK_NUMPAD1, VK_NUMPAD2 등에 대한 나의 표기법입니다. – user1552292