java - 鼠标退出java时的锁定事件

标签 java mouse mouseevent mouseout

我编写了一个应用程序,您可以在其中左右拖动某个时间线。 当我拖动时,我知道这是一个 mouseDragged 事件。由于我将鼠标光标移到组件之外,它会停止拖动,但我不希望这样。

所以我想以某种方式锁定该组件上的 mouseDragged 事件,但是如果我将光标移到组件之外,我将不再收到 mouseDragged 事件。

我该如何解决这个问题?我的同事告诉我有一些像captureMouse这样的功能。

最佳答案

我认为捕获鼠标并不是一个好主意。我也不认为这对于您想要的东西是必要的。

根据我的经验,即使您将鼠标移到组件区域之外,mouseDragged() 事件也能正常工作:它将继续报告组件内最接近组件外部鼠标位置的 X 和 Y 位置,但它不会像释放左键一样终止鼠标拖动。

如果您的应用程序的行为不同,也许您的鼠标处理中存在不同的错误?

例如,尝试一下本页中间的小程序:您将看到可以开始拖动矩形并将鼠标移到小程序区域之外,它将继续工作: http://www.dgp.toronto.edu/~mjmcguff/learn/java/04-mouseInput/

(我不知道上面代码的作者;这只是我通过搜索 java applet mousedragged 找到的第一个代码。)

关于java - 鼠标退出java时的锁定事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4124142/

相关文章:

c# - Wpf 鼠标事件超出用户控件问题的范围

javascript - 每隔几毫秒在给定的 x-y 坐标上显示元素

java - android - 为什么我的 editText 不显示?

java - Spring Data JDBC 是否有 Criteria API?

java - spring boot jdbc 连接

c - 如何找到鼠标按钮 'click' 位置 x 和 y?

java - 创建可点击的表格

javascript - Jquery:mousedown效果(按住左键时)

java - 如何从网格中获取我单击的组件?

java - MouseListener没有移动