【发布时间】:2012-08-29 00:56:47
【问题描述】:
我一直在研究如何以编程方式设置光标的位置。做了一些谷歌搜索,我发现了 Robot 类的使用。但是当我这样做时,它会调用在 MouseMotionListener 中实现的 mouseMoved 事件,这是我不想要的。有没有其他方法可以设置不会调用该方法的位置?
【问题讨论】:
-
简答否,加长回答否。更改鼠标位置将触发操作系统级别事件,然后将其发送到受更改影响的所有 Windows。
我一直在研究如何以编程方式设置光标的位置。做了一些谷歌搜索,我发现了 Robot 类的使用。但是当我这样做时,它会调用在 MouseMotionListener 中实现的 mouseMoved 事件,这是我不想要的。有没有其他方法可以设置不会调用该方法的位置?
【问题讨论】:
无论你做什么,mouseMoved 事件仍然会触发,但你可以覆盖它,这样一旦触发它就什么都不做。
您可以覆盖正在移动鼠标的组件的侦听器,这样只有该组件会忽略该事件,而其他组件会正确触发。
myComponent.addMouseMotionListener(new MouseMotionAdapter()
{
@Override
public void mouseMoved(MouseEvent e)
{
/*Do Nothing*/
}
});
【讨论】: