Korzystanie ze składnika TextInput

Składnik TextInput jest składnikiem pojedynczego wiersza tekstu, który stanowi opakowanie dla rodzimego obiektu TextField języka ActionScript. Jeśli wymagane jest wielowierszowe pole tekstowe, należy użyć składnika TextArea. Na przykład: składnik TextInput może być używany jako pole hasła w formularzu. Istnieje możliwość skonfigurowania detektora, który będzie sprawdzał, czy pole zawiera dostateczną liczbę znaków, gdy użytkownik wybierze inne pole za pomocą klawisza Tab. Ten detektor może wyświetlać komunikat o błędzie, który będzie informował o konieczności wprowadzenia odpowiedniej liczby znaków.

Za pomocą metody setStyle() można ustawić właściwość textFormat w celu zmiany stylu tekstu, jaki pojawi się w instancji TextInput. Składnik TextInput może zostać również sformatowany za pomocą kodu HTML lub jako pole hasła, w którym tekst będzie ukrywany.

Posługiwanie się składnikiem TextInput

Składnik TextInput może być włączony lub wyłączony w aplikacji. W stanie disabled składnik TextArea nie odbiera danych wprowadzanych za pomocą klawiatury lub myszy. Po włączeniu (stan enabled) dla tego składnika obowiązują te same reguły aktywacji, zaznaczania i nawigacji, które obowiązują dla obiektu TextField języka ActionScript. Po aktywowaniu instancji TextInput można nią sterować za pomocą następujących klawiszy:

Klucz

Opis

Klawisze strzałek

Przesuwanie punktu wprowadzania o jeden znak w lewo lub w prawo.

Shift+Tab

Przesuwa aktywność do poprzedniego obiektu.

Karta

Przesuwa aktywność do kolejnego obiektu.

Więcej informacji na temat sterowania aktywnością zawiera opis klasy FocusManager w Skorowidzu języka ActionScript 3.0 dla programu Flash Professional oraz w sekcji Praca z klasą FocusManager .

Podgląd aktywny każdej instancji TextInput odzwierciedla zmiany dokonane w parametrach w Inspektorze właściwości oraz Inspektorze składników podczas tworzenia. W podglądzie aktywnym tekst nie może być zaznaczany i nie można wprowadzać tekstu do instancji składnika na stole montażowym.

Po dodaniu składnika TextInput do aplikacji można go udostępnić dla czytnika ekranu, korzystając z panelu Ułatwienia dostępu.

Parametry składnika TextInput

Dla każdej instancji składnika TextInput można w Inspektorze właściwości lub w Inspektorze składników ustawić następujące parametry tworzenia treści: editable , displayAsPassword , maxChars , restrict i text . Dla każdego z tych parametrów istnieje odpowiednia właściwość ActionScript o takiej samej nazwie. Więcej informacji na temat możliwych wartości tych parametrów zawiera opis klasy TextInput w Skorowidzu języka ActionScript 3.0 dla programu Flash Professional .

Istnieje możliwość napisania kodu ActionScript w celu kontrolowania tych i innych opcji dla składnika TextInput z wykorzystaniem jego właściwości, metod i zdarzeń. Więcej informacji zawiera opis klasy TextInput w Skorowidzu języka ActionScript 3.0 dla programu Flash Professional .

Tworzenie aplikacji ze składnikiem TextInput

Poniższa procedura wyjaśnia jak podczas tworzenia dodać składnik TextInput do aplikacji. W przykładzie wykorzystano dwa pola TextInput w celu wpisania i potwierdzenia hasła. Przykład przedstawia użycie detektora zdarzeń, który wykrywa, czy do każdego z pól zostało wprowadzonych co najmniej osiem znaków oraz czy teksty w każdym z pól są takie same.

  1. Utwórz nowy dokument Flash (ActionScript 3.0).

  2. Przeciągnij składnik Label z panelu Składniki na stół montażowy i określ dla niego następujące wartości w Inspektorze właściwości:

    • Wprowadź dla instancji nazwę pwdLabel .

    • Wprowadź wartość dla Sz: 100 .

    • Wprowadź wartość dla X: 50 .

    • Wprowadź wartość dla Y: 150 .

    • W sekcji Parametry wprowadź wartość Hasło: dla parametru tekstu.

  3. Przeciągnij drugi składnik Label z panelu Składniki na stół montażowy i określ dla niego następujące wartości:

    • Wprowadź dla instancji nazwę confirmLabel .

    • Wprowadź wartość dla Sz: 100 .

    • Wprowadź wartość dla X: 50 .

    • Wprowadź wartość dla Y: 200 .

    • W sekcji Parametry wprowadź wartość Potwierdźhasło: dla parametru tekstu.

  4. Przeciągnij składnik TextInput z panelu Składniki na stół montażowy i określ dla niego następujące wartości:

    • Wprowadź dla instancji nazwę pwdTi .

    • Wprowadź wartość dla Sz: 150 .

    • Wprowadź wartość dla X: 190 .

    • Wprowadź wartość dla Y: 150 .

    • W sekcji Parametry kliknij dwukrotnie wartość dla parametru displayAsPassword i wybierz opcję true . To spowoduje, że wartość wprowadzana do pola tekstowego będzie maskowana gwiazdkami.

  5. Przeciągnij drugi składnik TextInput z panelu Składniki na stół montażowy i określ dla niego następujące wartości:

    • Wprowadź dla instancji nazwę confirmTi .

    • Wprowadź wartość dla Sz: 150 .

    • Wprowadź wartość dla X: 190 .

    • Wprowadź wartość dla Y: 200 .

    • W sekcji Parametry kliknij dwukrotnie wartość dla parametru displayA s Password i wybierz opcję true . To spowoduje, że wartość wprowadzana do pola tekstowego będzie maskowana gwiazdkami.

  6. Otwórz panel Operacje, zaznacz klatkę nr 1 na głównej osi czasu i wprowadź następujący kod ActionScript:

    function tiListener(evt_obj:Event){ 
    if(confirmTi.text != pwdTi.text || confirmTi.length < 8) 
    { 
            trace("Password is incorrect. Please reenter it."); 
    }  
    else { 
            trace("Your password is: " + confirmTi.text); 
    } 
    } 
    confirmTi.addEventListener("enter", tiListener);

    Ten kod konfiguruje moduł obsługi zdarzeń enter w instancji TextInput o nazwie confirmTi . Jeśli obydwa hasła nie będą takie same lub użytkownik wprowadzi mniej niż osiem znaków, w pojawi się komunikat: „Password is incorrect. Please reenter it”. Jeśli hasła zawierają osiem znaków lub więcej i są zgodne, wprowadzona wartość zostanie wyświetlona w panelu Wyjście.

  7. Wybierz polecenie Sterowanie > Testuj film.

Tworzenie instancji składnika TextInput przy użyciu kodu ActionScript

W poniższym przykładzie przedstawiono tworzenie składnika TextInput za pomocą języka ActionScript. W przykładzie tworzony jest również składnik Label wykorzystywany w celu wyświetlenia monitu, który informuje o konieczności wprowadzenia nazwy użytkownika. W przykładzie ustawiana jest właściwość restrict , która umożliwia wprowadzanie tylko małych i wielkich liter, kropek i spacji. W przykładzie tworzony jest również obiekt TextFormat, który jest wykorzystywany w celu formatowania tekstu w składnikach Label i TextInput.

  1. Utwórz nowy dokument Flash (ActionScript 3.0).

  2. Przeciągnij składnik TextInput z panelu Składniki do panelu Biblioteka.

  3. Przeciągnij składnik Label z panelu Składniki do panelu Biblioteka.

  4. Otwórz panel Operacje, zaznacz klatkę nr 1 na głównej osi czasu i wprowadź następujący kod ActionScript:

    import fl.controls.Label; 
    import fl.controls.TextInput; 
     
    var nameLabel:Label = new Label(); 
    var nameTi:TextInput = new TextInput(); 
    var tf:TextFormat = new TextFormat(); 
     
    addChild(nameLabel); 
    addChild(nameTi); 
     
    nameTi.restrict = "A-Z .a-z"; 
     
    tf.font = "Georgia"; 
    tf.color = 0x0000CC; 
    tf.size = 16; 
     
    nameLabel.text = "Name: " ; 
    nameLabel.setSize(50, 25); 
    nameLabel.move(100,100); 
    nameLabel.setStyle("textFormat", tf); 
    nameTi.move(160, 100); 
    nameTi.setSize(200, 25); 
    nameTi.setStyle("textFormat", tf); 
  5. Wybierz polecenia Sterowanie > Testuj film, aby uruchomić aplikację.