Wie importiere ich eine Klasse zur Verwendung in der Flex-Anwendung?
-
09-06-2019 - |
Frage
Ich habe eine Actionscript-Datei, die eine Klasse definiert, die ich in einer Flex-Anwendung verwenden möchte.
Ich habe einige benutzerdefinierte Steuerelemente in einer Actionscript-Datei definiert und sie dann über das Anwendungs-Tag importiert:
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:scorecard="com.apterasoftware.scorecard.controls.*"
...
</mx:Application>
Aber dieser Code ist keine Flex-Komponente, sondern eine Bibliothek zum Ausführen mathematischer Routinen. Wie importiere ich diese Klasse?
Lösung
Sie müssten die Klasse in ein Skript-Tag importieren.
<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>
Dann können Sie an einer anderen Stelle in Ihrem Skript-Tag auf diese Klasse verweisen.Abhängig davon, wie die Klasse geschrieben ist, können Sie möglicherweise keine Bindung innerhalb der MXML verwenden, aber Sie können Ihren eigenen Code definieren, um damit umzugehen.
Namespace-Deklarationen werden nur zum Importieren anderer MXML-Komponenten verwendet.AS-Klassen werden mit der Importanweisung entweder innerhalb eines Skriptblocks oder einer anderen AS-Datei importiert.
Andere Tipps
@Herms:Zur Verdeutlichung: Namespace-Deklarationen können auch zum „Importieren“ von AS-Klassen verwendet werden, wenn Sie diese mithilfe von MXML instanziieren möchten.
Erwägen Sie beispielsweise eine benutzerdefinierte visuelle Komponente, die Sie beispielsweise vollständig in AS geschrieben haben com.apterasoftware.scorecard.controls.MathVisualizer
.Um es in MXML zu verwenden:
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:aptera="com.apterasoftware.scorecard.controls.*">
<aptera:MathVisualizer width="400" height="300" />
</mx:Application>