как импортировать класс для использования в приложении Flex?

У меня есть файл ActionScript, который определяет класс, который я хотел бы использовать в приложении Flex.

Я определил несколько настраиваемых элементов управления в файле ActionScript и затем импортирую их через тег приложения:


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

но этот код не является гибким компонентом, это скорее библиотека для выполнения математических процедур, как мне импортировать этот класс?


person mmattax    schedule 02.09.2008    source источник


Ответы (2)


Вам нужно будет импортировать класс внутри тега скрипта.

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

person Herms    schedule 02.09.2008

@Herms: Чтобы немного прояснить, объявления пространств имен можно также использовать для «импорта» классов AS, когда вы собираетесь создать их экземпляры с помощью 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>
person Niko Nyman    schedule 30.12.2008