当鼠标光标离开表的边界时,我已经将一个鼠标监听器连接到JTable来调用一些东西。但是,当鼠标光标离开表的单个单元格时,也会调用mouseExited()方法。我的代码中有一些奇怪的怪癖还是Swing中的一个错误?
编辑:我没有提到我的表是JTable的子类而不是标准的JTable
答案 0 :(得分:1)
如果你没有检查event.getSource() == myTable
答案 1 :(得分:0)
为PL& F-heavy组件添加鼠标监听器并不是一个好主意。他们经常有子组件破坏党。鼠标事件与其他事件的不同之处在于,它们会弹出组件层次结构,直到它们使用鼠标侦听器命中组件(因此添加鼠标侦听器是一种侵入式操作)。 JTable
特别使用渲染器标记每个单元格以及编辑器组件。
(同样是JTable
等子类,或者Thread
等其他类的子类,通常是个坏主意。)