Question

J'ai un fichier ActionScript qui définit une classe que j'aimerais utiliser dans une application Flex.

J'ai défini certains contrôles personnalisés dans un fichier actionscript, puis je les ai importés via la balise d'application :


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

mais ce code n'est pas un composant flexible, c'est plutôt une bibliothèque pour effectuer des routines mathématiques, comment importer cette classe ?

Était-ce utile?

La solution

Vous devrez importer la classe dans une balise de script.

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

Vous pourrez alors référencer cette classe n’importe où ailleurs dans votre balise de script.Selon la façon dont la classe est écrite, vous ne pourrez peut-être pas utiliser la liaison dans MXML, mais vous pouvez définir votre propre code pour gérer cela.

Les déclarations d'espace de noms ne sont utilisées que pour importer d'autres composants MXML.Les classes AS sont importées à l'aide de l'instruction import soit dans un bloc de script, soit dans un autre fichier AS.

Autres conseils

@Herms :Pour clarifier un peu, les déclarations d'espace de noms peuvent également être utilisées pour "importer" des classes AS, lorsque vous allez les instancier à l'aide de MXML.

Par exemple, envisagez d'avoir un composant visuel personnalisé que vous avez entièrement écrit en AS, disons com.apterasoftware.scorecard.controls.MathVisualizer.Pour l'utiliser dans 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>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top