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

时间:2020-03-05 18:46:32  来源:igfitidea点击:

我有一个动作脚本文件,该文件定义了一个我想在Flex应用程序中使用的类。

我已经在动作脚本文件中定义了一些自定义控件,然后通过应用程序标签将其导入:

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

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

解决方案

回答

我们需要在脚本标签中导入该类。

<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>

然后,我们将可以在script标记中的其他任何地方引用该类。根据类的编写方式,我们可能无法在MXML中使用绑定,但是可以定义自己的代码来处理。

命名空间声明仅用于导入其他MXML组件。使用导入语句在脚本块或者另一个AS文件中导入AS类。

回答

@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>