5
我想倾听Swing上的所有拖放事件。我设法监听拖动事件我可以在Java中监听所有拖放事件吗?
一个办法是通过添加:
final long mask = AWTEvent.MOUSE_EVENT_MASK + AWTEvent.MOUSE_MOTION_EVENT_MASK;
AWTEventListener eventListener = new AWTEventListener() {
public void eventDispatched(final AWTEvent event) {}
};
Toolkit.getDefaultToolkit().addAWTEventListener(eventListener, mask);
,但这并没有得到掉落的事件,甚至没有从鼠标下降时释放事件。 有没有办法拦截应用程序中的所有拖放事件,而不是分别在每个组件上?
我想记录用户所做的所有事情,提取方案,然后在这些方案中创建自动化测试。 –
雄心勃勃:-)全局监听器是非常低级的,所以你会得到原始的鼠标/动作事件,但很可能没有像dragEvent/dropEvent这样的更高级的事件。虽然从未尝试过。顺便说一下,mouseMotion!=鼠标,以获得释放/按下移动/拖动,你将不得不添加后者掩码以及 – kleopatra
我错过了在问题中添加,因为我希望它尽可能简洁和简洁。我修改了这个问题中的面具,因为我现在正在使用它,但即使如此,发布事件也没有被捕获,所以我认为它是由drop事件消耗的。 –