ActionScript 3 – Programmation séquentielle et orientée objet
352
addChild(message_txt);
addChild(compteur);
compteur.x=210;
message_txt.addEventListener(Event.CHANGE,compterNbreCaracteres);
function compterNbreCaracteres(evt:Event) {
compteur.text=message_txt.text.length.toString();
}
Apportons quelques commentaires à ce script un peu long.
Nous commençons par créer deux instances de la classe TextField() car nous avons
besoin de deux zones de texte : une première sert à la saisie du texte, l’autre permet
d’afficher le nombre de caractères contenus dans le champ de saisie.
Nous configurons et ajoutons ces deux instances et, enfin, nous créons un objet d’écoute
qui fait appel à l’événement Event.CHANGE.
Nous sommes obligés d’écrire message_txt.text.length.toString() pour les raisons
suivantes :
• toString() permet de convertir message_txt.text.length en une chaîne de caractères.
• La propriété length permet d’obtenir le nombre de caractères contenus dans le texte de
saisie.
• La propriété text permet de faire référence au texte contenu dans l’instance message_txt.
Ce script est particulièrement intéressant car il suffit de changer le contenu de la fonction
de rappel compterNbreCaracteres pour l’adapter à n’importe quel besoin de surveillance
d’une saisie d’un texte.
Dans ce troisième et dernier exemple, lorsque l’utilisateur clique en dehors de la zone de
texte de saisie, le programme ajoute l’extension .txt à la fin du texte.
var nomFichier:TextField = new TextField();
nomFichier.border = true;
nomFichier.type = TextFieldType.INPUT;
nomFichier.width= 200;
addChild(nomFichier);
nomFichier.addEventListener(FocusEvent.FOCUS_OUT,verifierExtension);
function verifierExtension(evt:FocusEvent) {
if (nomFichier.text.substr(nomFichier.length-4,4)!=".txt") {
nomFichier.appendText(".txt");
}
}
Précédent

- 380/426

Suivant