2008-09-02 14 views
0

私はFlexアプリケーション内で使用したいクラスを定義するactionscriptファイルを持っています。Flexアプリケーション内で使用するクラスをインポートするにはどうすればよいですか?

私はActionScriptファイルにいくつかのカスタムコントロールを定義してから、アプリケーションのタグを介してそれらをインポートしています

 

<mx:Application 
    xmlns:mx="http://www.adobe.com/2006/mxml" 
    xmlns:scorecard="com.apterasoftware.scorecard.controls.*" 
... 
</mx:Application> 
 

が、このコードは、フレックスコンポーネントではない、むしろそれは、どのように数学ルーチンを実行するためのライブラリですこのクラスをインポートしますか?

答えて

5

スクリプトタグ内でクラスをインポートする必要があります。

<mx:Application 
    xmlns:mx="http://www.adobe.com/2006/mxml"> 
    <mx:Script> 
    import com.apterasoftware.scorecard.controls.*; 
    // Other imports go here 

    // Functions and other code go here 
    </mx:Script> 

    <!-- Components and other MXML stuff go here --> 
    <mx:VBox> 
    <!-- Just a sample --> 
    </mx:VBox> 
</mx:Application> 

次に、スクリプトタグ内の他の場所でそのクラスを参照できるようになります。クラスの記述方法によっては、MXML内でバインディングを使用することができない場合がありますが、独自のコードを定義してそれを処理できます。

名前空間宣言は、他のMXMLコンポーネントをインポートするためにのみ使用されます。 ASクラスは、スクリプトブロックまたは別のASファイル内のimportステートメントを使用してインポートされます。

0

@Herms:少し明確にするために、名前空間宣言を使用して、ASMLクラスをMXMLを使用してインスタンス化するときに、その名前空間宣言を「インポート」することもできます。

たとえば、完全にASで記述したカスタムのビジュアルコンポーネントがあるとします(例:com.apterasoftware.scorecard.controls.MathVisualizer)。 MXML内で使用するには:

<mx:Application 
    xmlns:mx="http://www.adobe.com/2006/mxml" 
    xmlns:aptera="com.apterasoftware.scorecard.controls.*"> 

    <aptera:MathVisualizer width="400" height="300" /> 
</mx:Application> 
関連する問題