我想锁定一个JFrame内的鼠标。也就是说,鼠标不能离开JFrame的内容(除非用户点击逃脱,ALT标签,或窗口,否则失去焦点)。想法?

谢谢!

有帮助吗?

解决方案

我不知道是否有这样做的更自动化的方式,但你可以使用的 Robot类以设置鼠标位置。因此,在当JFrame中获得焦点,你可以开始观看鼠标移动事件,当鼠标移动只要确保它保持的JFrame内的事件处理程序。如果离开JFrame中可以使用机器人类设置鼠标的位置往回走。

然后,当窗口失去焦点时,可以从鼠标移动事件取消注册。

其他提示

机器人类是适合这种类型的事情,但我会建议另一种方法。

也许使游戏全屏(最大化窗口窗格)将实现你想要的东西来代替。鼠标将不能退出窗口和没有难看机器人式的黑客需要被用于迫使用户留在边界内。

我只是想到了另外一个办法 - 光标锁定到框架的中心,并使其invisible.Then渲染软件光标放在真实光标应该的。 然后,您可以锁定光标移动到你想要的任何区域。

下面是如果你不你的游戏中使用鼠标按键2偷偷摸摸一个可以工作。 使用机械手按下去BUTTON2。

我们的想法是使鼠标拖动得到,不移动。每当你得到一个鼠标移动事件,这是因为用户已经释放按钮2,所以按的一次。

每当你得到一个鼠标拖动事件,如果鼠标窗外,把它放回

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top