Как импортировать класс для использования внутри приложения Flex?
-
09-06-2019 - |
Вопрос
У меня есть файл actioncript, который определяет класс, который я хотел бы использовать внутри приложения Flex. Р>
Я определил некоторые пользовательские элементы управления в файле ActionScript, а затем импортировал их через тег приложения:
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:scorecard="com.apterasoftware.scorecard.controls.*"
...
</mx:Application>
но этот код не является гибким компонентом, скорее это библиотека для выполнения математических процедур, как мне импортировать этот класс?
Решение
Вам нужно будет импортировать класс внутри тега скрипта.
<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.
Другие советы
@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>