【发布时间】:2012-10-22 10:21:33
【问题描述】:
我正在编写一个显示一些生物信息学数据的自定义组件,并且我希望能够在用户按住某个键时显示有关鼠标所在位置的其他信息。对于工具提示来说,这似乎是一项显而易见的工作,但有一些问题似乎阻止了它的工作。首先,我想让工具提示跟随鼠标并动态更改其文本。这在某种程度上可以通过覆盖组件的 getToolTipText 和 getToolTipLocation 来实现,但是工具提示会随着鼠标位置的更新而闪烁,并且不会显示在子组件上(它是一个 JPanel,里面有一些 JTextPanes)。我也不认为没有任何方法可以在不调用 ToolTipManager 的情况下立即显示它,我相信这会改变所有其他组件的延迟。
其中一些问题似乎有解决方法,但它们相当复杂和不优雅,所以我认为一个好的解决方案是创建我自己的组件,用相关信息填充它并自己展示它.但是,这需要是某种顶级组件,因为它需要能够稍微超出父组件甚至包含 JFrame 的边界并被绘制在其他所有内容上。我所知道的在 JToolTip 之外具有此功能的唯一对象是 JFrame 和 JDialog,它们的边框带有我不想要的标题和关闭按钮。有没有办法做到这一点?
【问题讨论】: