ActionScript 3 – Programmation séquentielle et orientée objet
330
Régler automatiquement la largeur d’un texte
Lorsqu’un texte est plus grand que la largeur de l’instance dans laquelle il se trouve, il est
possible de spécifier un retour automatique à la ligne. Dans certains cas, cela s’avère
inutile, car ce n’est pas ce que nous souhaitons.
Lorsque vous créez une instance de la classe TextField(), vous pouvez lui définir une
largeur avec la propriété width, mais ce n’est pas obligatoire, notamment dans le cas où
vous souhaitez créer un titre, ou tout du moins un texte sur une ligne, avec un corps assez
important.
Pour ne pas avoir à gérer la largeur d’une instance de type TextField(), vous pouvez utiliser
la propriété autoSize.
Spécifiez dans votre code, le type de redimensionnement (TextFieldAutoSize.NONE, TextFieldAutoSize.LEFT, TextFieldAutoSize.RIGHT, TextFieldAutoSize.CENTER) ; il sera alors
inutile de faire appel à la propriété wordWrap. Voici un exemple de texte dont le redimensionnement s’effectue automatiquement à gauche.
var semaine:Array = new Array("Lundi 30 février 2017","Mardi, le jour le plus long",
➥"Mercredi","Jeudi","Vendredi","Samedi","Dimanche");
var titreAccueil:TextField = new TextField();
titreAccueil.autoSize = TextFieldAutoSize.LEFT;
for each (var jour:String in semaine) {
titreAccueil.appendText(jour+"\n");
}
addChild(titreAccueil);
Attention de ne pas combiner ce réglage avec la propriété wordWrap, car cette dernière
annule la définition de propriété autoSize.
Gérer un texte multiligne
La gestion d’un texte multiligne sous-entend deux problématiques à résoudre.
• La première est relative à l’insertion d’un saut de ligne entre deux données. Vous allez
pour cela devoir utiliser la séquence \n.
• La deuxième est relative au renvoi du texte à la ligne suivante lorsqu’il est trop large.
Examinez bien la copie d’écran de la figure 14-1 : nous y mettons en évidence le retour à
la ligne.
Remarque
Appliquez un contour de texte (nomInstanceTexte.border=true) pour visualiser le résultat du redimensionnement automatique d’une instance de TextField().
330
Régler automatiquement la largeur d’un texte
Lorsqu’un texte est plus grand que la largeur de l’instance dans laquelle il se trouve, il est
possible de spécifier un retour automatique à la ligne. Dans certains cas, cela s’avère
inutile, car ce n’est pas ce que nous souhaitons.
Lorsque vous créez une instance de la classe TextField(), vous pouvez lui définir une
largeur avec la propriété width, mais ce n’est pas obligatoire, notamment dans le cas où
vous souhaitez créer un titre, ou tout du moins un texte sur une ligne, avec un corps assez
important.
Pour ne pas avoir à gérer la largeur d’une instance de type TextField(), vous pouvez utiliser
la propriété autoSize.
Spécifiez dans votre code, le type de redimensionnement (TextFieldAutoSize.NONE, TextFieldAutoSize.LEFT, TextFieldAutoSize.RIGHT, TextFieldAutoSize.CENTER) ; il sera alors
inutile de faire appel à la propriété wordWrap. Voici un exemple de texte dont le redimensionnement s’effectue automatiquement à gauche.
var semaine:Array = new Array("Lundi 30 février 2017","Mardi, le jour le plus long",
➥"Mercredi","Jeudi","Vendredi","Samedi","Dimanche");
var titreAccueil:TextField = new TextField();
titreAccueil.autoSize = TextFieldAutoSize.LEFT;
for each (var jour:String in semaine) {
titreAccueil.appendText(jour+"\n");
}
addChild(titreAccueil);
Attention de ne pas combiner ce réglage avec la propriété wordWrap, car cette dernière
annule la définition de propriété autoSize.
Gérer un texte multiligne
La gestion d’un texte multiligne sous-entend deux problématiques à résoudre.
• La première est relative à l’insertion d’un saut de ligne entre deux données. Vous allez
pour cela devoir utiliser la séquence \n.
• La deuxième est relative au renvoi du texte à la ligne suivante lorsqu’il est trop large.
Examinez bien la copie d’écran de la figure 14-1 : nous y mettons en évidence le retour à
la ligne.
Remarque
Appliquez un contour de texte (nomInstanceTexte.border=true) pour visualiser le résultat du redimensionnement automatique d’une instance de TextField().
