1

ANT および Flex 3.3 SDK を介してビルド サーバー上に構築された Flex の datavisualization.swc チャートでラベルが消えるという問題があります。ライセンスがビルド サーバーに適切に適用されていることを確認しました (したがって、ウォーター マークはありません)。まったく同じ datavisualization.swc が私の開発マシンから Flex3.3SDK/frameworks/libs ディレクトリにコピーされたことを確認しました。 .

何か案は?フォントの問題でしょうか?(ただし、実際にはデフォルトのフォントのみを使用しています。)

これが問題です。ビルドサーバーの 代替テキストに軸ラベルがありません http://img687.imageshack.us/img687/5038/chartwithmissingaxislab.png

これは、ラベルを使用してどのように見えるかです(ローカル開発マシンで取得) 代替テキスト http://img683.imageshack.us/img683/1504/chartwithaxislabels.png

4

1 に答える 1

1

Flex Coders アーカイブで見つけた役立つ情報を使用して、それを機能させました。

基本的に、initialize イベント ハンドラーで、次のコードを追加しました。

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;
    }
}
于 2010-04-07T19:14:02.337 に答える