Flex DataVisualization图表组件在构建服务器上呈现标签时出现问题

时间:2010-04-06 14:06:32

标签: flex charts data-visualization

我在使用我们的构建服务器上通过ANT和Flex 3.3 SDK构建的Flex的datavisualization.swc图表上的标签消失了。我确保我们的许可证在构建服务器上正确应用(因此没有水印),并且我确保将完全相同的datavisualization.swc从我的dev机器复制到Flex3.3SDK / frameworks / libs目录中

有什么想法吗?这可能是字体问题吗? (虽然我们实际上只使用默认字体。)

这是问题,在构建服务器上缺少轴标签 alt text http://img687.imageshack.us/img687/5038/chartwithmissingaxislab.png

以下是标签的外观(在我的本地开发机器上拍摄) alt text http://img683.imageshack.us/img683/1504/chartwithaxislabels.png

1 个答案:

答案 0 :(得分:1)

我使用Flex Coders archive上的有用信息开始工作。

基本上,在initalize事件处理程序中,我添加了以下代码:

var ccClassFactory:ContextualClassFactory = new ContextualClassFactory(ChartAxisTextLabel);
ccClassFactory.moduleFactory=this.moduleFactory;

var hAxisRenderer:AxisRenderer = new AxisRenderer();
hAxisRenderer.axis = hAxis;
hAxisRenderer.labelRenderer=ccClassFactory;

var vAxisRenderer:AxisRenderer = new AxisRenderer();
vAxisRenderer.axis = vertAxis;
vAxisRenderer.labelRenderer=ccClassFactory;

lineChart.horizontalAxis=hAxis;
lineChart.verticalAxis=vertAxis;
lineChart.horizontalAxisRenderers = [ hAxisRenderer ];
lineChart.verticalAxisRenderers = [ vAxisRenderer ];

另外,我必须创建类:

public class ChartAxisTextLabel extends Label
{
    public function ChartAxisTextLabel()
    {
            super();
    }

    override public function set data(value:Object):void
    {
        super.data = value;
        text = value.text;
    }
}