如何控制JComponent的Tooltip的显示?

时间:2008-11-12 13:46:32

标签: java swing

我有一个JComponent,它自己绘制各种形状。我正在检测鼠标何时进入其中一个形状并相应地更改工具提示。

我遇到的问题是:

  • 当用户在形状上跟踪鼠标时,工具提示不会跟随鼠标。它 保持在第一次设置的位置,然后只有在其他形状改变工具提示时才会跳转。
  • 工具提示显示需要大约一秒钟,但我希望它能立即显示。

有人可以建议一种在不编写自定义工具提示机制的情况下获取这些行为的方法吗?

2 个答案:

答案 0 :(得分:6)

查看ToolTipManager

您可以向该经理注册您的组件,然后调整一些设置。它非常直接使用。

至少可以解决你的初始延迟问题。

对于第一个问题,您可以在组件中覆盖createTooltip命令以获取JTooltip实例。每当你移动鼠标(也就是你的鼠标)作为JComponent类的子类时,它就会轻松改变位置。

答案 1 :(得分:1)

要解决第一个工具提示不遵循鼠标的问题,如果在JComponent中覆盖getToolTipLocation(MouseEvent e),则可以返回要显示工具提示的位置。 MouseEvent将允许您检索x和y。