1

イベント キューに関連する Java ドキュメントで、「eventQueue にポストされるイベントは合体できることに注意してください」という文を読みました。この行の意味は何ですか?

4

1 に答える 1

2

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合体が行われなかったことを示す

于 2013-07-24T20:15:38.167 に答える