我有一个 JPanel,我想检测以下事件
(1) 当鼠标移入时
(2)当鼠标移出时
(1) 快速简单。(2) 有点棘手。目前,我必须在 JPanel 周围的所有组件中注册事件。如果JPanel周围的邻居检测到鼠标移动事件,这也意味着JPanel处于(2)情况。但是,这是一个相当肮脏的过程,因为我将来会添加新组件,这种肮脏的解决方法将被打破。
另一种方法是有一个计时器来监控 JPanel。如果鼠标位置在 x 秒内不在 JPanel 内,我可以认为 JPanel 有鼠标移出事件。
然而,这对我来说似乎也是一种肮脏的方式,因为有一个单独的计时器来执行这种常见的任务是矫枉过正的。
有没有更好的方法,哪个Java平台可以提供?