|
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.
-
Utwórz nowy dokument Flash (ActionScript 3.0).
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
Utwórz nowy dokument Flash (ActionScript 3.0).
-
Przeciągnij składnik TextInput z panelu Składniki do panelu Biblioteka.
-
Przeciągnij składnik Label z panelu Składniki do panelu Biblioteka.
-
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);
-
Wybierz polecenia Sterowanie > Testuj film, aby uruchomić aplikację.
|
|
|