如何在Java Graphics2D中显示提示文本

时间:2011-05-13 16:24:21

标签: java graphics

我想知道是否有可能在Java Graphics2d中鼠标悬停时显示“提示文本”。类似的东西:

Graphics2D      g; 
g.fillRect(0, 0, w, h); 
g.showhint("Show this hint if mouse is over the area:",0,0,10,20); ?????

感谢。

1 个答案:

答案 0 :(得分:3)

如果你指的是一些任意的文字,那么请确定:

  • 添加一个鼠标侦听器,记录光标进入或离开所需区域的时间。
  • 让侦听器根据事件设置布尔变量
  • 每当布尔值发生变化时,请致电repaint()
  • 如果设置了布尔值,请让paint-method绘制提示。

如果您指的是工具提示:是的,也可以。

以下摘自the official tutorial

  

即使在没有用于设置特定于零件的工具提示文本的API的组件中,您通常也可以自己完成工作。如果组件支持渲染器,则可以在自定义渲染器上设置工具提示文本。表和树部分提供了由自定义渲染器确定的工具提示文本的示例。适用于所有JComponents的替代方法是创建组件的子类并覆盖其getToolTipText(MouseEvent)方法。

后一种方法实施起来似乎微不足道。