イベント キューに関連する Java ドキュメントで、「eventQueue にポストされるイベントは合体できることに注意してください」という文を読みました。この行の意味は何ですか?
1 に答える
http://docs.oracle.com/javase/7/docs/api/java/awt/EventQueue.html
postEvent
public void postEvent(AWTEvent theEvent)
に 1.1 スタイルのイベントを投稿し
EventQueue
ます。キューに同じ ID とイベント ソースを持つ既存のイベントがある場合、ソースComponent's coalesceEvents
メソッドが呼び出されます。パラメータ:
theEvent
- のインスタンスjava.awt.AWTEvent
、またはそのサブクラス スロー:NullPointerException
- theEvent がnull
http://docs.oracle.com/javase/7/docs/api/java/awt/Component.html
合体イベント
protected AWTEvent coalesceEvents(AWTEvent existingEvent, AWTEvent newEvent)
投稿されたイベントを既存のイベントと合体させる可能性があります。このメソッドは
EventQueue.postEvent
、ポストされるイベントと同じ ID を持つイベントがキューで見つかった場合に呼び出されます (両方のイベントがソースとしてこのコンポーネントを持っている必要があります)。このメソッドは、既存のイベントを置き換える合体イベントを返すか (その後、新しいイベントは破棄されます)、null
結合を行わないことを示します (キューの最後に 2 番目のイベントを追加します)。が返されない限り、もう一方のイベント パラメータは破棄されるため、いずれかのイベント パラメータを変更して返すことができますnull
。のこの実装では、
coalesceEvents
マウス移動 (およびドラッグ) イベントとペイント (および更新) イベントの 2 つのイベント タイプが結合されます。マウス移動イベントの場合、最後のイベントが常に返されるため、中間の移動が破棄されます。ペイント イベントの場合、新しいイベントはRepaintArea
ピア内の複合体に結合されます。新しいAWTEvent
ものは常に返されます。パラメータ:
existingEvent
- すでに存在するイベントEventQueue
newEvent
- にポストされるイベントEventQueue
戻り値: 合体したイベント、またはnull
合体が行われなかったことを示す