3

我已经将鼠标侦听器连接到 JTable 以在鼠标光标离开表格边界时调用一些东西。但是,当鼠标光标离开表格的单个单元格时,也会调用 mouseExited() 方法。是我的代码中的一些奇怪的怪癖还是 Swing 中的错误?

编辑:我没有提到我的表是 JTable 的子类而不是标准 JTable

4

2 回答 2

1

如果你不检查的话对我来说听起来很正常event.getSource() == myTable

于 2010-10-02T16:59:22.110 回答
0

将鼠标侦听器添加到 PL&F-heavy 组件不是一个好主意。他们经常有破坏派对的子组件。鼠标事件与其他事件的不同之处在于它们会在组件层次结构中冒泡,直到它们通过鼠标侦听器击中组件(因此添加鼠标侦听器是一种侵入性操作)。JTable特别是使用渲染器来标记每个单元格以及编辑器组件。

(还有子类组件,如JTable,或其他类,如Thread,通常是个坏主意。)

于 2010-09-27T08:54:08.200 回答