如何导入要在Flex应用程序中使用的类?

时间:2008-09-02 15:51:52

标签: flex actionscript-3

我有一个actionscript文件,它定义了我想在Flex应用程序中使用的类。

我在actionscript文件中定义了一些自定义控件,然后通过应用程序标记导入它们:


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

但是这段代码不是flex组件,而是一个用于执行数学例程的库,我该如何导入这个类?

2 个答案:

答案 0 :(得分: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文件中使用import语句导入AS类。

答案 1 :(得分:0)

@Herms:为了澄清一点,当您要使用MXML实例化它们时,名称空间声明也可用于“导入”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>