可以在Canvas而不是Chart对象上使用Flex数据提示吗?

时间:2010-01-17 08:14:19

标签: flex actionscript-3

Flex图表(如AreaChart)具有出色的内置支持,可在用户将鼠标悬停在图表数据中提供的点上时显示数据“工具提示”。您可以将鼠标悬停在任何条形图示例on this page上进行演示。

我有一个图形情况,我可以通过它的CartesianDataCanvasAreaChart标签选择性地绘制一些点作为<mx:annotationElements> es上提供给<mx:backgroundElements>的参考点。我想拥有与AreaChart相同的悬停数据提示功能,但应用于这些点。有谁知道如何实现这一目标,或者甚至可能实现这一目标?

我意识到我只是在画布上画画,并且没有实际的dataProvider支持这些点,但是如果有办法为CartesianDataCanvas提供数据值数组或者那种效果,那就会太棒了!

1 个答案:

答案 0 :(得分:1)

看过你的另一篇文章后,我假设你正在使用cdc.graphics绘制点。在这种情况下,向其添加悬停文本并不容易。创建一个扩展UIComponent的类,覆盖updateDisplayList方法并在其中进行绘制。现在,您可以使用dot.toolTip属性轻松地将鼠标添加到文本上。

//Dot.as
package 
{
  public class Dot 
  {
    override protected function updateDisplayList(unscaledWidth:Number, 
        unscaledHeight:Number):void 
    {
      this.graphics.lineStyle(1);
      this.graphics.drawCircle(0, 0, 5);
    }
}

//... later:
var dot:Dot = new Dot();
dot.x = xValue;
dot.y = yValue;
dot.toolTip = "Hover Text";
cdc.addChild(dot);