添加到JTable的MouseListener的奇怪行为

时间:2010-09-26 22:27:13

标签: java swing jtable mouselistener

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

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

2 个答案:

答案 0 :(得分:1)

如果你没有检查event.getSource() == myTable

,我听起来很正常

答案 1 :(得分:0)

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

(同样是JTable等子类,或者Thread等其他类的子类,通常是个坏主意。)