2013-01-02 15 views
3

新年快乐程序员!是否可以用Java Swing程序替代老鼠?

想象一下在两台鼠标的计算机上运行的双人Java Swing游戏。 是否可以为每个玩家分配一个鼠标,并依次锁定每个 鼠标,然后将活动鼠标交换? 这两个鼠标将共享相同的MouseListener方法。

我看不出互联网提及这种可能性,但我觉得 这种情况已经访问过。

georgeFK

+4

我相信这是不可能的。只有一个游标。 Java无法区分哪个硬件鼠标正在控制光标。 – Adam

+0

两只老鼠都控制着MouseEventDemo。所以以有限的方式起作用。 –

回答

3

问题是设备在底层操作系统层处理。大多数系统将输入合并为单个虚拟鼠标,这就是为什么您可以同时使触控板和USB鼠标处于活动状态的原因。当然,当你尝试使用它们时,会导致指针移动中的冲突。

我想你会实现这一点的方法是通过将直接与一个特定的鼠标设备的本地方法。所以你可以使用这两个对象来轮询每个鼠标并控制屏幕上的游戏控制。

3

这是可能的,但在纯Java当然不是这样的话你将不得不使用一些JNI

结帐ManyMouse

ManyMouse是一个图书馆,它将多个鼠标的输入提取到一个小型的跨平台API中。它意味着与 游戏和具有独特输入需求的非传统应用程序一起使用。在大多数平台上,它至少可以使所有的USB鼠标都可用,但在很多情况下可以使串行鼠标和内置的笔记本电脑触控板 也可用。

下面是一些或其他原因的源代码,一切都为不可用实际网站:

0

一个有趣的问题。整个MSDN Mouse Input manual没有提到控制信号来自哪个鼠标。

当然,它有BIOS命令,但是这样你的代码只能用于特定的计算机。

所以,如果你想要一个通用的解决方案,你应该写你自己的“双鼠标驱动程序”。或者在网上寻找。

相关问题