Flex アプリケーション内で使用するクラスをインポートするにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/39856

  •  09-06-2019
  •  | 
  •  

質問

Flex アプリケーション内で使用したいクラスを定義する actionscript ファイルがあります。

actionscript ファイルでいくつかのカスタム コントロールを定義し、それらを application タグ経由でインポートしました。


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

しかし、このコードは flex コンポーネントではなく、数学ルーチンを実行するためのライブラリです。このクラスをインポートするにはどうすればよいですか?

役に立ちましたか?

解決

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

<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 クラスは、Script ブロックまたは別の AS ファイル内で import ステートメントを使用してインポートされます。

他のヒント

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

たとえば、完全に 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>
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top