Arbeiten mit der TextArea-Komponente

Die TextArea-Komponente (Textfeld) erweitert das native ActionScript-TextField-Objekt. Die TextArea-Komponente können Sie einsetzen, um Text anzuzeigen, aber auch um Text zu bearbeiten und, wenn die Eigenschaft editable auf true gesetzt ist, um eine Texteingabe aufzunehmen. Die Komponente kann mehrere Textzeilen anzeigen oder empfangen, lange Textzeilen werden umbrochen, wenn die Eigenschaft wordWrap auf true gesetzt ist. Anhand der Eigenschaft restrict können Sie die Anzahl der Zeichen einschränken, die ein Benutzer eingeben darf, und mit maxChars können Sie angeben, wieviel Zeichen ein Benutzer maximal eingeben darf. Ragt der Text über die horizontalen oder vertikalen Grenzen des Textbereichs hinaus, erscheint automatisch eine horizontale bzw. vertikale Bildlaufleiste, es sei denn, die damit verbundenen Eigenschaften horizontalScrollPolicy und verticalScrollPolicy wurden auf off gesetzt.

Sie können die TextArea-Komponente überall dort einsetzen, wo ein Textfeld mit mehreren Zeilen benötigt wird. Sie können die TextArea-Komponente beispielsweise für ein Kommentarfeld in einem Formular verwenden. Sie können einen Listener einrichten, mit dem überprüft wird, ob das Feld leer ist, wenn der Benutzer zum Verlassen des Felds die Tabulatortaste drückt. In diesem Fall kann der Listener beispielsweise die Fehlermeldung anzeigen, dass ein Kommentar in dem Feld eingegeben werden muss.

Wenn Sie ein Textfeld mit nur einer Zeile benötigen, verwenden Sie die TextInput-Komponente.

Um die Formatierung innerhalb der TextArea-Instanz zu ändern, können Sie mithilfe der Methode setStyle() die Eigenschaft textFormat ändern. Sie können eine TextArea-Komponente auch mit HTML-Tags formatieren. Dazu verwenden Sie in ActionScript die Eigenschaft htmlText und wenn Sie die Eigenschaft displayAsPassword auf true setzen, werden anstelle des Texts ausschließlich Sternchen angezeigt. Wenn Sie die Eigenschaft condenseWhite auf true setzen, entfernt Flash alle zusätzlichen Leerräume aufgrund von Leerzeichen, Zeilenumbrüchen, usw. Auf den Text, der sich bereits im Steuerelement befindet, hat dies keinen Einfluss.

Benutzerinteraktion mit der TextArea-Komponente

TextArea-Komponenten können in einer Anwendung aktiviert und deaktiviert werden. In deaktiviertem Zustand werden Eingaben über die Maus oder die Tastatur nicht angenommen. In aktiviertem Zustand gelten für dieses Objekt dieselben Fokus-, Auswahl- und Navigationsregeln wie für das ActionScript-Objekt „TextField“. Wenn eine TextArea-Instanz den Fokus hat, können Sie diese mithilfe der folgenden Tasten steuern:

Schlüssel

Beschreibung

Pfeiltasten

Versetzen die Einfügemarke innerhalb des Texts um je ein Zeichen nach oben, unten, links und rechts; vorausgesetzt, der Text ist bearbeitbar.

Bild-ab

Versetzt die Einfügemarke an das Ende des Texts; vorausgesetzt, der Text ist bearbeitbar.

Bild-auf

Versetzt die Einfügemarke an den Textanfang, wenn der Text bearbeitbar ist.

Umschalt+Tab

Bewegt den Fokus zum vorigen Objekt in der Tabulatorschleife.

Tab

Bewegt den Fokus zum nächsten Objekt in der Tabulatorschleife.

Weitere Informationen zum Steuern des Fokus finden Sie im Abschnitt zur FocusManager-Klasse im ActionScript 3.0 Referenzhandbuch für Flash Professional und unter Arbeiten mit dem FocusManager .

Parameter der TextArea-Komponente

Die folgenden Authoring-Parameter können für jede Instanz der TextArea-Komponente im Eigenschaften- oder Komponenten-Inspektor festgelegt werden: condenseWhite , editable , hortizontalScrollPolicy , maxChars , restrict , text , verticalScrollPolicy und wordwrap . Jeder dieser Parameter verfügt über eine entsprechende ActionScript-Eigenschaft mit demselben Namen. Informationen zu den möglichen Werten für diese Parameter finden Sie im Abschnitt zur TextArea-Klasse im ActionScript 3.0 Referenzhandbuch für Flash Professional .

Die Änderungen an den Parametern der einzelnen TextArea-Instanzen, die beim Authoring im Eigenschaften- oder Komponenteninspektor vorgenommen werden, werden jeweils in einer Live-Vorschau angezeigt. Wenn eine Bildlaufleiste benötigt wird, wird diese in der Vorschau zwar angezeigt, funktioniert jedoch nicht. Außerdem kann in der Live-Vorschau weder Text ausgewählt noch Text in der Komponenteninstanz auf der Bühne eingegeben werden.

Mithilfe von ActionScript können Sie diese und weitere Optionen für die TextArea-Komponente über ihre Eigenschaften, Methoden und Ereignisse steuern. Weitere Informationen finden Sie im Abschnitt zur TextArea-Klasse im ActionScript 3.0 Referenzhandbuch für Flash Professional .

So erstellen Sie eine Anwendung mit der TextArea-Komponente

In der folgenden Anleitung wird erläutert, wie beim Authoring eine TextArea-Komponente in eine Anwendung eingefügt wird. Im Beispiel wird die Ereignisprozedur focusOut für die TextArea-Instanz eingerichtet. Die Prozedur überprüft, ob der Benutzer etwas in das Textfeld eingegeben hat, bevor der Fokus auf einen anderen Teil der Benutzeroberfläche gelegt wird.

  1. Erstellen Sie ein neues Flash-Dokument (ActionScript 3.0).

  2. Ziehen Sie eine TextArea-Komponente vom Bedienfeld „Komponenten“ auf die Bühne und nennen Sie die Instanz aTa . Übernehmen Sie für alle Parameter die Standardeinstellungen.

  3. Ziehen Sie eine zweite TextArea-Komponente aus dem Bedienfeld „Komponenten“ auf die Bühne, platzieren Sie sie unter der ersten und nennen Sie die Instanz bTa . Übernehmen Sie für alle Parameter die Standardeinstellungen.

  4. Öffnen Sie das Bedienfeld „Aktionen“, wählen Sie in der Hauptzeitleiste Bild 1 aus und geben Sie den folgenden ActionScript-Code ein:

    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 diesem Beispiel werden die im Textbereich aTa zulässigen Zeichen auf Kleinbuchstaben, das Komma, das Hochkomma (Apostroph) und Leerzeichen beschränkt. Zudem werden zum Textbereich aTa Ereignisprozeduren für die Ereignisse change , KEY_FOCUS_CHANGE und MOUSE_FOCUS_CHANGE eingerichtet. Die Funktion changeHandler() bewirkt, dass der Text, der in das Textfeld aTa eingegeben wird, automatisch im Textfeld bTa angezeigt wird, indem aTa.text bei jedem change -Ereignis bTa.text zugewiesen wird. Die Funktion k_m_fHandler() für die Ereignisse KEY_FOCUS_CHANGE und MOUSE_FOCUS_CHANGE verhindert, dass der Benutzer die Tabulatortaste drücken kann, um den Fokus auf das nächste Steuerelement zu setzen, ohne vorher Text einzugeben. Dies wird erreicht, indem das Standardverhalten verhindert wird.

  5. Wählen Sie „Steuerung“ > „Film testen“.

    Wenn Sie die Tabulatortaste drücken, um den Fokus in den zweiten Textbereich zu setzen, ohne Text einzugeben, wird eine Fehlermeldung angezeigt und der Fokus kehrt zurück auf den ersten Textbereich. Während Sie in den ersten Textbereich Text eingeben, können Sie sehen, dass er im zweiten Textbereich dupliziert wird.

Erstellen einer TextArea-Instanz mithilfe von ActionScript-Code

Im folgenden Beispiel wird mithilfe von ActionScript-Code eine TextArea-Komponente erstellt. Die Eigenschaft condenseWhite wird auf true gesetzt, um Leerräume zu vermeiden, und der Eigenschaft htmlText wird Text zugewiesen, um die HTML-Formatierungsattribute nutzen zu können.

  1. Erstellen Sie ein neues Flash-Dokument (ActionScript 3.0).

  2. Ziehen Sie eine TextArea-Komponente in das Bedienfeld „Bibliothek“.

  3. Öffnen Sie das Bedienfeld „Aktionen“, wählen Sie in der Hauptzeitleiste Bild 1 aus und geben Sie den folgenden ActionScript-Code ein:

    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 diesem Beispiel wird die Eigenschaft htmlText verwendet, um einen Textblock mit HTML-Tags für für Fettsatz und Unterstreichung auszuzeichnen und im Textbereich a_ta anzuzeigen. In diesem Beispiel wird zudem die Eigenschaft condenseWhite auf true gesetzt, um Leerräume innerhalb des Textblocks auf ein einzelnes Leerzeichen zu reduzieren. Die Methode setSize() stellt die Höhe und Breite des Textbereichs ein und die Methode move() seine Position. Die Methode addChild() schließlich, platziert die TextArea-Instanz auf der Bühne.

  4. Wählen Sie „Steuerung“ > „Film testen“.

Rechtliche Hinweise | Online-Datenschutzrichtlinie