次のイベントを検出したいJPanelがあります
(1) マウス移動時
(2) マウスアウト時
(1)は簡単です。(2) ちょっと難しいです。現在、JPanel 周辺のすべてのコンポーネントでイベントを登録する必要があります。JPanel の周囲の隣人がイベントでマウスの動きを検出した場合、これは JPanel が (2) の状況にあることも意味します。ただし、これはかなり汚れています。将来、新しいコンポーネントを追加すると、この汚れた回避策が壊れます。
もう 1 つの方法は、タイマーを使用して JPanel を監視することです。マウスの位置が x 秒以内に JPanel 内にない場合、JPanel でマウス移動イベントが発生していると見なすことができます。
ただし、このような一般的なタスクを実行するために別のタイマーを使用するのはやり過ぎなので、これも私には汚い方法に思えます。
Javaプラットフォームが提供するより良い方法はありますか?