2012-05-08 3 views
1

KeyStroke에 해당하는 마우스 클래스가 있습니까? 어떤 버튼이 밀렸는지 설명하기 위해 MouseEvent 주위의 래퍼 (SwingUtilities를 통해 얻을 수 있음) 및 모든 수정자를 찾고 있습니다. 아이디어는 이미 청취자를 통해 AWT 마우스 이벤트를 잡는 것이지만, 그 이벤트를 가져 와서 가상 세계에서 3D 피킹을 처리하는 것입니다. 그런 식으로 마우스 바인딩을 시도해보고 싶습니다. (InputMap 및 Swing 컨트롤이있는 ActionMap과 비슷합니다.) KeyStroke는 신을 보내고, MouseStroke 또는 이와 유사한 것을 아는 사람은 누구입니까?Java 6의 KeyStroke 동급 클래스?

답변

4

"마우스"는 전통적으로 최대 3 개의 버튼이있는 것으로 정의됩니다. 또한 Java가 MouseEvent.getButton()을 지원하는 것입니다.

여러 단추가있는 고급 마우스는 일반적으로 여러 개의 HID 장치로 설치됩니다. 의미 그들은 마우스와 키보드에 대한 두 개의 드라이버를 설치합니다. 이러한 마우스의 경우 다른 버튼의 의미를 설정할 수 있으며 대개 키 누르기 (예 : 이동) 또는 두 번 클릭과 같은 것입니다. 그것들은 Java가 KeyEvent의 MouseEvent처럼 잡을 수있는 이벤트입니다.

"응용 프로그램 열기"또는 "DPI 변경"과 같은 고급 기능이 드라이버에 구현되어 있습니다. 장치마다 다르므로 Java에서 이러한 이벤트를 잡을 수있는 방법은 없습니다 (이러한 이벤트에 대해 고유 한 리스너를 작성해야 드라이버가이를 지원합니다).

+0

[Java7에 4 번째 및 5 번째 버튼이 추가 된 이후] (http://docs.oracle.com/javase/7/docs/api/java/awt/event/MouseEvent.html#getButton%28%29) 및 [ SwingUtilities는 3 개의 마우스 버튼 만 둡니다.] (http://docs.oracle.com/javase/7/docs/api/javax/swing/SwingUtilities.html) btw +1 – mKorbel

+0

짧은 대답 인 것 같습니다. 아니요, 있습니다 MouseStroke 또는 유사하지 않습니다. – JagWire