Swingの場合、イベントリスナーの先で、マルチスレッドの考慮をする必要がある。
Win32の場合、複数の発生元からのイベントが一列にまとめられ、アプリケーションの処理は1個ずつ呼び出されるため、再入の心配はしなくてよい。
Swingの場合、SwingUtilities.invokeLator()を使うと、任意の処理の呼び出しをSwingのイベントキューに入れることができるらしい。これを使って、
他の発生元のイベント処理をSwingのイベントキューに入れることで、Win32と同様イベントを一列にまとめることができそう。