有没有办法拦截系统队列头端的AWT事件?

时间:2013-04-14 22:58:29

标签: java awt event-dispatch-thread

我有一个图形应用程序,并希望(只读)能够在主事件队列中存放事件时将它们存储在队列中,这样它们就不会被渲染阻止。

在渲染主AWT调度线程时有没有办法做到这一点?

由于使用AWT进行动画渲染在分派线程之外无法正常工作,因此在执行此操作时会出现大量抖动以及其他时序和线程切换问题。

但是如果帧速率很慢,则当重要事件等待时,想要中止渲染的低优先级部分。

我到目前为止尝试在帧渲染中多次使用“peekEvent()”轮询系统事件队列。

我也尝试在系统事件队列中使用“push()”方法来放置我自己的并覆盖“post”方法,我得到所有的调用事件,然后我得到组件事件,但没有关键事件

arrrgh - 似乎发布到系统事件队列头部的push(新队列)方法事件被转发到“postEventPrivate”,即使在具有完全访问权限的应用程序中也无法覆盖:|

这可能是一个答案,如果“不能这样做”是一个答案。

寻求一种方法来获得“带外”键,鼠标和​​鼠标滚轮事件。

0 个答案:

没有答案