2013-01-02 3 views
3

해피 뉴 이어 프로그래머!자바 스윙 프로그램으로 마우스를 바꿀 수 있습니까?

2 마리의 마우스가있는 컴퓨터에서 실행되는 2 인용 자바 스윙 게임을 상상해보십시오. 플레이어 당 하나의 마우스를 할당하고 각 마우스를 잠그면 활성 마우스를 바꿀 수 있습니까? 두 마우스가 동일한 MouseListener 메서드를 공유합니다.

이러한 가능성에 대한 인터넷 참조는 볼 수 없지만 나는이 상황이 전에 방문 된 적이 있다고 생각합니다.

georgeFK

+4

나는 이것이 불가능하다고 생각합니다. 하나의 커서 만 있습니다. Java는 커서를 제어하는 ​​하드웨어 마우스를 구분할 수 없습니다. – Adam

+0

두 마우스 모두 MouseEventDemo를 제어합니다. 제한된 방식으로 작동합니다. –

답변

3

문제는 기본 OS 레이어에서 처리하는 장치입니다. 대부분의 시스템은 입력을 하나의 가상 마우스로 통합하므로 트랙 패드와 USB 마우스를 동시에 활성화 할 수 있습니다. 물론 둘 다 사용하려고하면 포인터 이동에서 충돌이 발생합니다.

이 방법을 구현하는 방법은 특정 마우스 장치와 직접 대화 할 수있는 기본 메서드를 사용하는 것이라고 생각합니다. 따라서이 두 개체를 사용하여 각 마우스를 폴링하고 화면상의 게임 컨트롤을 제어 할 수 있습니다.

3

물론 순수 자바가 아니기 때문에 JNI을 사용해야합니다.

체크 아웃 ManyMouse.

ManyMouse는 여러 개의 마우스 입력 ( )을 작은 크로스 플랫폼 API에 추상화 한 라이브러리입니다. 고유 한 입력 요구 사항이있는 게임 및 비 전통적 응용 프로그램과 함께 사용하기위한 것입니다. 대부분의 플랫폼에서 적어도 모든 USB 마우스를 사용할 수 있지만, 에서 많은 경우 직렬 마우스와 내장형 노트북 트랙 패드 을 사용할 수 있습니다.

: 여기

의 일부 또는 다른 이유로 실제 웹 사이트에서 사용 가능한하지 소스 코드와 모든입니다
0

흥미로운 질문입니다. MSDN Mouse Input manual에는 신호가 나오는 마우스를 제어하는 ​​것에 대한 언급이 없습니다.

확실히 BIOS 명령이 있지만 특정 컴퓨터에서만 작동합니다.

범용 솔루션을 원할 경우 자체 "이중 마우스 드라이버"를 작성해야합니다. 또는 그물을 찾으십시오.

관련 문제