Как импортировать класс для использования внутри приложения Flex? - PullRequest
0 голосов
/ 02 сентября 2008

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

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


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

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

Ответы [ 2 ]

5 голосов
/ 02 сентября 2008

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

<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 либо в блоке Script, либо в другом файле AS.

0 голосов
/ 30 декабря 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>
...