【发布时间】:2009-10-07 15:05:33
【问题描述】:
我有一个自定义的摆动组件,它的实现类似于 JTree。它有一个使用 CellRenderer 呈现对象列表的 ComponentUI。工具提示现在正确显示每个渲染的单元格,但是它不会像我想要的那样跟踪鼠标。例如,如果我有这样布置的盒子;
[ 框 A ] [ 框 B ] [ 框 C ] [ 框 D ]如果我将鼠标拖过这些框,我将看到 box A 的工具提示,鼠标越过 box A 边界。当我继续移动鼠标时,工具提示不会跟踪指针。当我离开该框时,工具提示将适当地消失。当我越过 box B 时,也会发生同样的事情。
我的猜测是,当getToolTipText(MouseEvent event) 的内容发生变化时,工具提示只会更新视图。我想要的行为是让工具提示跟踪指针位置,而不管getToolTipText 返回的内容如何。一个快速的技巧是根据对该方法的偶数/奇数调用来添加和删除空白空间。这行得通,但是,这不是我应该这样做的方式。
我正在寻找一种优雅的非 hack 方式来解决这个问题。我希望有人知道某处有一些神秘的标志,它会强制工具提示跟随鼠标而不管鼠标内容如何。
【问题讨论】: