テキスト入力のキャプチャFlash Player 9 以降、Adobe AIR 1.0 以降 デフォルトでは、テキストフィールドの type プロパティは dynamic に設定されます。TextFieldType クラスを使用して type プロパティを input に設定すると、アプリケーションの他の部分で使用するために、ユーザー入力を収集し、値を保存することができます。入力テキストフィールドは、フォームで使用するのに便利です。また、テキスト値をユーザーに定義させてその値をプログラムの他の部分で使用するアプリケーションでも役に立ちます。 例えば、次のコードは、myTextBox という名前の入力テキストフィールドを作成します。ユーザーがフィールドにテキストを入力すると、textInput イベントがトリガーされます。textInputCapture という名前のイベントハンドラーが、入力されたテキストのストリングをキャプチャして、変数を割り当てます。Flash Player は、myOutputBox という名前の別のテキストフィールドにその新しいテキストを表示します。 package { import flash.display.Sprite; import flash.display.Stage; import flash.text.*; import flash.events.*; public class CaptureUserInput extends Sprite { private var myTextBox:TextField = new TextField(); private var myOutputBox:TextField = new TextField(); private var myText:String = "Type your text here."; public function CaptureUserInput() { captureText(); } public function captureText():void { myTextBox.type = TextFieldType.INPUT; myTextBox.background = true; addChild(myTextBox); myTextBox.text = myText; myTextBox.addEventListener(TextEvent.TEXT_INPUT, textInputCapture); } public function textInputCapture(event:TextEvent):void { var str:String = myTextBox.text; createOutputBox(str); } public function createOutputBox(str:String):void { myOutputBox.background = true; myOutputBox.x = 200; addChild(myOutputBox); myOutputBox.text = str; } } } |
|