2011-05-13 35 views
1

我想知道是否可以在Java Graphics2d中的mouseover上顯示「提示文本」。例如:如何在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); ????? 

謝謝。

回答

3

如果你指的是一些任意文本,然後確定:

  • 添加鼠標偵聽當光標進入或離開所需區域的記錄。
  • 讓聽者根據事件
  • 每當布爾變化,叫repaint()
  • 我們如果布爾設置的油漆塗料方法的提示設置一個布爾變量。

如果你指的是工具提示:是的,這也是可能的。

這裏是the official tutorial摘錄:

即使在有設置特定部分的工具提示文本沒有API組件,一般都可以做自己的工作。如果組件支持渲染器,則可以在自定義渲染器上設置工具提示文本。表格和樹部分提供了由自定義渲染器確定的工具提示文本示例。一種適用於所有JComponents的替代方法是創建該組件的子類並覆蓋其getToolTipText(MouseEvent)方法。

後一種方法似乎甚至微不足道實施。