私はグラフィックス アプリを持っており、レンダリングによってブロックされないように、メイン イベント キューに格納されたイベントを (読み取り専用で) 読み取れるようにしたいと考えています。
メインの AWT ディスパッチ スレッドでレンダリングするときにこれを行う方法はありますか?
AWT を使用したアニメーションのレンダリングは、ディスパッチ スレッドの外ではうまく機能しないため、そうすると、多くのジッターやその他のタイミングおよびスレッドの切り替えの問題が発生します。
しかし、フレーム レートが遅い場合、重要なイベントが待機しているときに、レンダリングの優先度の低い部分を中止したいと考えます。
これまで、フレーム レンダリングで「peekEvent()」を複数回使用して、システム イベント キューをポーリングしようとしました。
また、システム イベント キューで「push()」メソッドを使用して自分自身を入れ、「post」メソッドをオーバーライドしようとしました。すべての呼び出しイベントを取得し、コンポーネント イベントを取得しますが、キー イベントは取得しません。
arrrgh - システム イベント キューの先頭にポストされたイベントが push(new queue) メソッドで「postEventPrivate」に転送されるようです。これはフル アクセスのアプリケーションでもオーバーライドできません:|
「できない」が答えなら、これは答えかもしれません。
「帯域外」のキー、マウス、およびマウス ホイール イベントを取得する方法を探しています。