Usare il componente TextArea

Il componente TextArea è un componente di testo a riga singola, wrapper dell'oggetto TextField nativo di ActionScript. Potete usare il componente TextArea per visualizzare del testo e per modificare e ricevere input di testo se la proprietà editable è impostata su true . Il componente è in grado di visualizzare o ricevere più righe di testo e mandare a capo automaticamente le righe di testo lunghe se la proprietà wordWrap è impostata su true . La proprietà restrict consente di limitare i caratteri che l'utente può inserire, mentre maxChars consente di specificare il numero massimo di caratteri consentiti. Se il testo supera i limiti orizzontale e verticale dell'area di testo, vengono visualizzate automaticamente le barre di scorrimento orizzontale e verticale, a meno che le proprietà associate horizontalScrollPolicy e verticalScrollPolicy non siano impostate su off .

È possibile utilizzare un componente TextArea ogni volta che è necessario un campo di testo multiriga. Ad esempio, è possibile utilizzare un componente TextArea come campo di commento in un form. Potete impostare un listener che verifica se il campo è vuoto quando un utente preme il tasto Tab per uscire dal campo. Questo listener potrebbe visualizzare un messaggio di errore che indica che è necessario inserire un commento nel campo.

Se è necessario un campo di testo a riga singola, utilizzare il componente TextInput, componente.

Per cambiare lo stile del testo visualizzato in un'istanza TextArea, impostate lo stile textFormat usando il metodo setStyle() . A un componente TextArea potete inoltre applicare il formato HTML usando la proprietà htmlText in ActionScript. Inoltre, potete impostare la proprietà displayAsPassword su true per mascherare il testo mediante asterischi. Se impostate la proprietà condenseWhite su true , viene rimosso automaticamente lo spazio vuoto supplementare contenuto nel nuovo testo (spazi, interruzioni di riga e così via). Non ha effetto sul testo già presente nel controllo.

Interazione dell'utente con il componente TextArea

Un componente TextArea può essere abilitato o disabilitato in un'applicazione: Quando è disattivato, non può ricevere input dal mouse o dalla tastiera. Quando è abilitato, segue le stesse regole di attivazione e di navigazione di un oggetto TextField di ActionScript. Quando un'istanza del componente TextArea è attiva, potete usare i seguenti tasti per controllarla:

Chiave

Descrizione

Tasti freccia

Spostano il punto di inserimento in alto, in basso, a sinistra o a destra all'interno del testo, se il testo è modificabile.

PgGiù

Sposta il punto di inserimento alla fine del testo, se il testo è modificabile.

Pagina su

Sposta il punto di inserimento all'inizio del testo, se il testo è modificabile.

Maiusc+Tab

Attiva l'oggetto precedente nel ciclo di tabulazioni.

Tab

Attiva l'oggetto successivo nel ciclo di tabulazioni.

Per ulteriori informazioni sul controllo dell'attivazione, vedete la classe FocusManager nella Guida di riferimento di ActionScript 3.0 per Flash Professional e Operazioni con FocusManager .

Parametri del componente TextArea

Potete impostare i parametri di creazione seguenti per ogni istanza del componente TextArea nella finestra di ispezione Proprietà o nella finestra di ispezione dei componenti: condenseWhite , editable , hortizontalScrollPolicy , maxChars , restrict , text , verticalScrollPolicy e wordwrap . Ciascuno di questi parametri ha una proprietà ActionScript corrispondente con lo stesso nome. Per informazioni sui valori che potete impostare per questi parametri, vedete la classe TextArea nella Guida di riferimento di ActionScript 3.0 per Flash Professional .

Nell'anteprima dal vivo di ogni istanza di TextArea vengono visualizzate le modifiche apportate ai parametri nella finestra di ispezione Proprietà o nella finestra di ispezione dei componenti durante la creazione. Se è necessaria una barra di scorrimento, nell'anteprima dal vivo viene visualizzata ma non funziona. Il testo non è selezionabile nell'anteprima dal vivo e non è possibile immetterlo nell'istanza del componente sullo stage.

È possibile creare codice ActionScript per controllare queste e altre opzioni per il componente TextArea utilizzandone le proprietà, i metodi e gli eventi. Per ulteriori informazioni, vedete la classe TextArea nella Guida di riferimento di ActionScript 3.0 per Flash Professional .

Creare un'applicazione con il componente TextArea

La procedura seguente indica come aggiungere un componente TextArea a un'applicazione durante la creazione. L'esempio imposta sull'istanza TextArea un gestore di eventi focusOut che verifica che l'utente abbia digitato dei caratteri nel campo di testo prima di attivare una parte diversa dell'interfaccia.

  1. Create un nuovo documento Flash (ActionScript 3.0).

  2. Trascinate un componente TextArea dal pannello Componenti allo stage e assegnategli il nome di istanza aTa . Lasciate invariate le impostazioni predefinite dei parametri.

  3. Trascinate un secondo componente TextArea dal pannello Componenti allo stage, posizionatelo sotto il primo e assegnategli il nome di istanza aTa . Lasciate invariate le impostazioni predefinite dei parametri.

  4. Aprite il pannello Azioni, selezionate il fotogramma 1 nella linea temporale principale, quindi immettete il codice ActionScript seguente:

    import flash.events.FocusEvent; 
     
    aTa.restrict = "a-z,'\" \""; 
    aTa.addEventListener(Event.CHANGE,changeHandler); 
    aTa.addEventListener(FocusEvent.KEY_FOCUS_CHANGE, k_m_fHandler); 
    aTa.addEventListener(FocusEvent.MOUSE_FOCUS_CHANGE, k_m_fHandler); 
     
    function changeHandler(ch_evt:Event):void { 
        bTa.text = aTa.text; 
    } 
    function k_m_fHandler(kmf_event:FocusEvent):void { 
        kmf_event.preventDefault(); 
    }

    In questo esempio i caratteri che potete inserire nell'area di testo aTa vengono limitati a caratteri minuscoli, virgola, apostrofo e spazi. Vengono inoltre impostati i gestori di eventi per gli eventi change , KEY_FOCUS_CHANGE e MOUSE_FOCUS_CHANGE dell'area di testo aTa . La funzione changeHandler() causa la visualizzazione automatica del testo inserito nell'area di testo aTa nell'area di testo bTa , mediante l'assegnazione di aTa.text a bTa.text per ogni evento change . La funzione k_m_fHandler() per gli eventi KEY_FOCUS_CHANGE e MOUSE_FOCUS_CHANGE impedisce all'utente di premere il tasto Tab per passare al campo successivo senza avere inserito del testo. Questa impostazione impedisce l'esecuzione del comportamento predefinito.

  5. Selezionare Controllo > Prova filmato.

    Se premete il tasto Tab per attivare la seconda area di testo senza inserire del testo, viene visualizzato un messaggio di errore e viene riattivata la prima area di testo. Se inserite del testo nella prima area di testo, questo viene duplicato nella seconda area di testo.

Creare un'istanza TextArea mediante ActionScript

Nell'esempio seguente viene creato un componente TextArea mediante ActionScript. La proprietà condenseWhite viene impostata su true per comprimere lo spazio vuoto e il testo viene assegnato alla proprietà htmlText per avvalersi degli attributi di formattazione del testo HTML.

  1. Create un nuovo documento Flash (ActionScript 3.0).

  2. Trascinate il componente TextArea nel pannello Libreria.

  3. Aprite il pannello Azioni, selezionate il fotogramma 1 nella linea temporale principale, quindi immettete il codice ActionScript seguente:

    import fl.controls.TextArea; 
     
    var aTa:TextArea = new TextArea(); 
     
    aTa.move(100,100); 
    aTa.setSize(200, 200); 
    aTa.condenseWhite = true; 
    aTa.htmlText = '<b>Lorem ipsum dolor</b> sit amet, consectetuer adipiscing elit. <u>Vivamus quis nisl vel tortor nonummy vulputate.</u> Quisque sit amet eros sed purus euismod tempor. Morbi tempor. <font color="#FF0000">Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos.</font> Curabitur diam. Suspendisse at purus in ipsum volutpat viverra. Nulla pellentesque libero id libero.';  
    addChild(aTa);

    In questo esempio viene usata la proprietà htmlText per applicare gli attributi di sottolineatura e grassetto HTML a un blocco di testo e visualizzarlo nell'area di testo a_ta. Viene inoltre impostata la proprietà condenseWhite su true per comprimere gli spazi all'interno del blocco di testo. Il metodo setSize() consente di impostare l'altezza e la larghezza dell'area di testo, mentre il metodo move() ne imposta la posizione. Il metodo addChild() aggiunge l'istanza TextArea allo stage.

  4. Selezionare Controllo > Prova filmato.