我有一个类似于 JTree 实现的自定义 swing 组件。它有一个使用 CellRenderer 呈现对象列表的 ComponentUI。工具提示现在可以正确显示每个渲染单元格,但它不会像我希望的那样跟踪鼠标。例如,如果我有这样布置的盒子;
[ box A ] [ box B ] [ box C ] [ box D ]
如果我将鼠标拖过这些框,我将看到 box A 的工具提示,其中鼠标穿过 box A 边界。当我继续移动鼠标时,工具提示将不会跟踪指针。当我离开框时,工具提示将适本地消失。当我穿过 box B 时,同样的事情发生了。
我的猜测是工具提示仅在 getToolTipText(MouseEvent event)
的内容更改时更新 View 。我想要的行为是让工具提示跟踪指针位置,而不管 getToolTipText
返回的内容。一个快速的 hack 是根据对方法的偶数/奇数调用来添加和删除空白空间。这行得通,但是,这不是我应该做的方式。
我正在寻找一种优雅的非黑客方法来解决这个问题。我希望有人知道某个地方有一些神秘的标志,无论鼠标内容如何,它都会强制工具提示跟随鼠标。
最佳答案
覆盖 getToolTipLocation在你的单元格渲染器中。
关于java - Swing 中的连续工具提示更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1532217/