| パッケージ | flash.text |
| クラス | public class TextField |
| 継承 | TextField InteractiveObject DisplayObject EventDispatcher Object |
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
テキストフィールドを動的に作成する場合は、TextField() コンストラクタを使用します。
TextField クラスのメソッドを使用すると、オーサリング時または実行時に作成したダイナミックテキストフィールドやテキスト入力フィールドにテキストを設定、選択、および操作できます。
ActionScript には、テキストを実行時にフォーマットする方法がいくつか用意されています。TextFormat クラスでは、TextField オブジェクトの文字フォーマットと段落フォーマットを設定できます。TextField.styleSheet プロパティおよび StyleSheet クラスを使用して、テキストフィールドに CSS (Cascading Style Sheet) スタイルを適用できます。CSS を使用すると、ビルトイン HTML タグのスタイル設定、新しいフォーマットタグの定義、またはスタイルの適用を行うことができます。HTML 形式のテキスト (CSS スタイルを使用している場合も可) をテキストフィールドに直接割り当てることができます。テキストフィールドに割り当てる HTML テキストに埋め込みメディア (ムービークリップ、SWF ファイル、GIF ファイル、PNG ファイル、および JPEG ファイル) を含めることができます。この場合テキストは、Web ブラウザ上で HTML ドキュメントの埋め込みメディアの周りをテキストが囲むのと同じように、埋め込みメディアの周りを囲みます。
Flash Player では、テキストのフォーマットに利用できる HTML タグのサブセットをサポートしています。htmlText プロパティの説明の、サポートされている HTML タグのリストを参照してください。
関連項目
| プロパティ | 定義元 | ||
|---|---|---|---|
![]() | accessibilityProperties : AccessibilityProperties
この表示オブジェクトの現在のアクセシビリティオプションです。
| DisplayObject | |
![]() | alpha : Number
指定されたオブジェクトのアルファ透明度値を示します。
| DisplayObject | |
| alwaysShowSelection : Boolean
true に設定され、テキストフィールドにフォーカスがない場合、テキストフィールド内の選択内容は灰色でハイライト表示されます。
| TextField | ||
| antiAliasType : String
このテキストフィールドに使用されるアンチエイリアス処理のタイプです。
| TextField | ||
| autoSize : String
テキストフィールドの自動的な拡大・縮小および整列を制御します。
| TextField | ||
| background : Boolean
テキストフィールドに背景の塗りつぶしがあるかどうかを指定します。
| TextField | ||
| backgroundColor : uint
テキストフィールドの背景の色。
| TextField | ||
![]() | blendMode : String
使用するブレンドモードを指定する BlendMode クラスの値です。
| DisplayObject | |
| border : Boolean
テキストフィールドに境界線があるかどうかを指定します。
| TextField | ||
| borderColor : uint
テキストフィールドの境界線の色。
| TextField | ||
| bottomScrollV : int
[read-only]
指定されたテキストフィールドの現在の表示範囲で最終行を示す整数です (1 から始まるインデックス)。
| TextField | ||
![]() | cacheAsBitmap : Boolean
true に設定されている場合、表示オブジェクトの内部ビットマップ表現が Flash Player にキャッシュされます。
| DisplayObject | |
| caretIndex : int
[read-only]
カーソル (キャレット) 位置のインデックスです。
| TextField | ||
| condenseWhite : Boolean
HTML テキストが含まれるテキストフィールド内の余分な空白 (スペース、改行など) を削除するかどうかを指定するブール値です。
| TextField | ||
![]() | constructor : Object
特定のオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
| Object | |
![]() | contextMenu : ContextMenu
このオブジェクトに関連付けられたコンテキストメニューを指定します。
| InteractiveObject | |
| defaultTextFormat : TextFormat
新しく挿入するテキスト (replaceSelectedText() メソッドで挿入したテキストまたはユーザーが入力したテキストなど) に適用するフォーマットを指定します。
| TextField | ||
| displayAsPassword : Boolean
テキストフィールドがパスワードテキストフィールドであるかどうかを指定します。
| TextField | ||
![]() | doubleClickEnabled : Boolean
オブジェクトが doubleClick イベントを受け取るかどうかを指定します。
| InteractiveObject | |
| embedFonts : Boolean
埋め込みフォントのアウトラインを使用してレンダリングするかどうかを指定します。
| TextField | ||
![]() | filters : Array
表示オブジェクトに現在関連付けられている各フィルタオブジェクトが格納されているインデックス付きの配列です。
| DisplayObject | |
![]() | focusRect : Object
このオブジェクトがフォーカス矩形を表示するかどうかを指定します。
| InteractiveObject | |
| gridFitType : String
このテキストフィールドに使用されるグリッドフィッティングのタイプです。
| TextField | ||
![]() | height : Number
表示オブジェクトの高さを示します (ピクセル単位)。
| DisplayObject | |
| htmlText : String
テキストフィールドの内容を HTML で示します。
| TextField | ||
| length : int
[read-only]
テキストフィールド内の文字数です。
| TextField | ||
![]() | loaderInfo : LoaderInfo
[read-only]
この表示オブジェクトが属するファイルのロード情報を含む LoaderInfo オブジェクトを返します。
| DisplayObject | |
![]() | mask : DisplayObject
呼び出し元の表示オブジェクトは、指定された mask オブジェクトによってマスクされます。
| DisplayObject | |
| maxChars : int
ユーザーが入力するときに、テキストフィールドに入力できる最大の文字数です。
| TextField | ||
| maxScrollH : int
[read-only]
scrollH の最大値です。
| TextField | ||
| maxScrollV : int
[read-only]
scrollH の最大値です。
| TextField | ||
![]() | mouseEnabled : Boolean
このオブジェクトがマウスメッセージを受け取るかどうかを指定します。
| InteractiveObject | |
| mouseWheelEnabled : Boolean
複数行にわたるテキストフィールドで、ユーザーがテキストフィールドをクリックしてホイールを回転させると、自動的にスクロールするかどうかを示すブール値です。
| TextField | ||
![]() | mouseX : Number
[read-only]
マウス位置の x 座標を示します (ピクセル単位)。
| DisplayObject | |
![]() | mouseY : Number
[read-only]
マウス位置の y 座標を示します (ピクセル単位)。
| DisplayObject | |
| multiline : Boolean
テキストフィールドが複数行テキストフィールドであるかどうかを示します。
| TextField | ||
![]() | name : String
DisplayObject のインスタンス名を示します。
| DisplayObject | |
| numLines : int
[read-only]
複数行テキストフィールド内のテキスト行の数を定義します。
| TextField | ||
![]() | opaqueBackground : Object
表示オブジェクトが特定の背景色で不透明であるかどうかを指定します。
| DisplayObject | |
![]() | parent : DisplayObjectContainer
[read-only]
この表示オブジェクトを含む DisplayObjectContainer オブジェクトを示します。
| DisplayObject | |
![]() | prototype : Object
[static]
クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
| Object | |
| restrict : String
ユーザーがテキストフィールドに入力できる文字のセットを指定します。
| TextField | ||
![]() | root : DisplayObject
[read-only]
ロードされた SWF ファイル内の表示オブジェクトの場合、root プロパティはその SWF ファイルが表す表示リストのツリー構造部分の一番上にある表示オブジェクトとなります。
| DisplayObject | |
![]() | rotation : Number
DisplayObject インスタンスの元の位置からの回転角を度単位で示します。
| DisplayObject | |
![]() | scale9Grid : Rectangle
現在有効な拡大 / 縮小グリッドです。
| DisplayObject | |
![]() | scaleX : Number
基準点から適用されるオブジェクトの水平スケール (percentage) を示します。
| DisplayObject | |
![]() | scaleY : Number
オブジェクトの基準点から適用されるオブジェクトの垂直スケール (percentage) を示します。
| DisplayObject | |
| scrollH : int
現在の水平スクロール位置です。
| TextField | ||
![]() | scrollRect : Rectangle
表示オブジェクトのスクロール矩形の境界です。
| DisplayObject | |
| scrollV : int
テキストフィールドのテキストの垂直位置です。
| TextField | ||
| selectable : Boolean
テキストフィールドが選択可能であるかどうかを示すブール値です。
| TextField | ||
| selectionBeginIndex : int
[read-only]
現在の選択範囲の最初の文字を示す 0 から始まるインデックス値です。
| TextField | ||
| selectionEndIndex : int
[read-only]
現在の選択範囲における最後の文字を示す、0 から始まるインデックス値です。
| TextField | ||
| sharpness : Number
このテキストフィールド内の文字エッジのシャープネスです。
| TextField | ||
![]() | stage : Stage
[read-only]
表示オブジェクトのステージです。
| DisplayObject | |
| styleSheet : StyleSheet
テキストフィールドにスタイルシートを関連付けます。
| TextField | ||
![]() | tabEnabled : Boolean
このオブジェクトがタブ順序に含まれるかどうかを指定します。
| InteractiveObject | |
![]() | tabIndex : int
SWF ファイル内のオブジェクトのタブ順序を指定します。
| InteractiveObject | |
| text : String
テキストフィールド内の現在のテキストであるストリングです。
| TextField | ||
| textColor : uint
テキストフィールドのテキストの色です (16 進数形式)。
| TextField | ||
| textHeight : Number
[read-only]
テキストの高さです (ピクセル単位)。
| TextField | ||
| textWidth : Number
[read-only]
テキストの幅です (ピクセル単位)。
| TextField | ||
| thickness : Number
このテキストフィールド内の文字エッジの太さです。
| TextField | ||
![]() | transform : Transform
表示オブジェクトのマトリックス、カラー変換、ピクセル境界に関係するプロパティを持つオブジェクトです。
| DisplayObject | |
| type : String
テキストフィールドのタイプです。
| TextField | ||
| useRichTextClipboard : Boolean
テキストと共にテキストのフォーマットをコピー & ペーストするかどうかを指定します。
| TextField | ||
![]() | visible : Boolean
表示オブジェクトが可視かどうかを示します。
| DisplayObject | |
![]() | width : Number
表示オブジェクトの幅を示します (ピクセル単位)。
| DisplayObject | |
| wordWrap : Boolean
テキストフィールドのテキストを折り返すかどうかを示すブール値です。
| TextField | ||
![]() | x : Number
親 DisplayObjectContainer のローカル座標を基準にした DisplayObject インスタンスの x 座標を示します。
| DisplayObject | |
![]() | y : Number
親 DisplayObjectContainer のローカル座標を基準にした DisplayObject インスタンスの y 座標を示します。
| DisplayObject | |
| メソッド | 定義元 | ||
|---|---|---|---|
|
新しい TextField インスタンスを作成します。
| TextField | ||
![]() |
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。
| EventDispatcher | |
|
newText パラメータで指定されたストリングを、テキストフィールドのテキストの最後に付加します。
| TextField | ||
![]() |
イベントをイベントフローに送出します。
| EventDispatcher | |
![]() |
targetCoordinateSpace オブジェクトの座標系を基準にして、表示オブジェクトの領域を定義する矩形を返します。
| DisplayObject | |
|
文字の境界ボックスである矩形を返します。
| TextField | ||
|
x および y パラメータで指定された点にある文字の、0 から始まるインデックス値を返します。
| TextField | ||
|
文字インデックスを指定すると、同じ段落内の最初の文字のインデックスを返します。
| TextField | ||
|
<img> タグを使用して HTML フォーマットのテキストフィールドに追加されたイメージまたは SWF ファイルについて、指定された id の DisplayObject 参照を返します。
| TextField | ||
|
x および y パラメータで指定された点にある行の 0 から始まるインデックス値を返します。
| TextField | ||
|
charIndex パラメータで指定された文字を含む行の 0 から始まるインデックス値を返します。
| TextField | ||
|
特定のテキスト行内の文字数を返します。
| TextField | ||
|
指定されたテキスト行に関するメトリック情報を返します。
| TextField | ||
|
lineIndex パラメータで指定された行の最初の文字の文字インデックスを返します。
| TextField | ||
|
lineIndex パラメータで指定された行のテキストを返します。
| TextField | ||
|
文字インデックスを指定すると、指定された文字を含む段落の長さを返します。
| TextField | ||
![]() |
シェイプ上の線を除き、targetCoordinateSpace パラメータによって定義された座標系に基づいて、表示オブジェクトの境界を定義する矩形を返します。
| DisplayObject | |
|
beginIndex パラメータと endIndex パラメータで指定された範囲のテキストのフォーマット情報を含む TextFormat オブジェクトを返します。
| TextField | ||
![]() |
point オブジェクトをステージ (グローバル) 座標から表示オブジェクトの (ローカル) 座標に変換します。
| DisplayObject | |
![]() |
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。
| EventDispatcher | |
![]() |
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
| Object | |
![]() |
表示オブジェクトを評価して、obj 表示オブジェクトと重複または交差するかどうかを調べます。
| DisplayObject | |
![]() |
表示オブジェクトを評価して、x および y パラメータで指定されたポイントと重複または交差するかどうかを調べます。
| DisplayObject | |
![]() |
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
| Object | |
![]() |
point オブジェクトを表示オブジェクトの (ローカル) 座標からステージ (グローバル) 座標に変換します。
| DisplayObject | |
![]() |
指定されたプロパティが存在し列挙できるかどうかを示します。
| Object | |
![]() |
EventDispatcher オブジェクトからリスナーを削除します。
| EventDispatcher | |
|
現在の選択内容を value パラメータの内容に置き換えます。
| TextField | ||
|
beginIndex パラメータと endIndex パラメータで指定された文字範囲を、newText パラメータの内容に置き換えます。
| TextField | ||
![]() |
ループ処理に対するダイナミックプロパティの可用性を設定します。
| Object | |
|
最初の文字と最後の文字のインデックス値によって指定されたテキストを選択済みに設定します。最初の文字と最後の文字のインデックス値は、beginIndex パラメータおよび endIndex パラメータを使用して指定されます。
| TextField | ||
|
format パラメータで指定したテキストフォーマットを、テキストフィールド内の指定されたテキストに適用します。
| TextField | ||
![]() |
指定されたオブジェクトのストリング表現を返します。
| Object | |
![]() |
指定されたオブジェクトのプリミティブな値を返します。
| Object | |
![]() |
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。
| EventDispatcher | |
| イベント | 概要 | 定義元 | ||
|---|---|---|---|---|
![]() | Flash Player がオペレーティングシステムのフォーカスを取得して、アクティブになったときに送出されます。 | EventDispatcher | ||
![]() | 表示オブジェクトが表示リストに追加されたときに送出されます。 | DisplayObject | ||
![]() | 表示オブジェクトが、直接、または表示オブジェクトを含むサブツリーの追加により、ステージ上の表示リストに追加されたときに送出されます。 | DisplayObject | ||
| コントロールの値が変更された後に実行されます。 | TextField | |||
![]() | ユーザーが InteractiveObject をポインティングデバイスのメインボタンでクリックしたときに送出されます。 | InteractiveObject | ||
![]() | Flash Player がオペレーティングシステムのフォーカスを失って、非アクティブになったときに送出されます。 | EventDispatcher | ||
![]() | オブジェクトの doubleClickEnabled フラグが true に設定されている場合にユーザーが InteractiveObject をポインティングデバイスのメインボタンで 2 回続けてすばやくクリックすると送出されます。 | InteractiveObject | ||
![]() | 再生ヘッドが新しいフレームに入るときに送出されます。 | DisplayObject | ||
![]() | 表示オブジェクトがフォーカスを取得したときに送出されます。 | InteractiveObject | ||
![]() | 表示オブジェクトがフォーカスを失ったときに送出されます。 | InteractiveObject | ||
![]() | ユーザーがキーを押したときに送出されます。 | InteractiveObject | ||
![]() | ユーザーがキーボード操作によってフォーカスを変更しようとすると送出されます。 | InteractiveObject | ||
![]() | ユーザーがキーを離したときに送出されます。 | InteractiveObject | ||
| HTML が有効になっているテキストフィールドで、URL が "event:" で始まるハイパーリンクをユーザーがクリックしたときに実行されます。 | TextField | |||
![]() | Flash Player ウィンドウの InteractiveObject インスタンスの上でユーザーがポインティングデバイスのボタンを押すと送出されます。 | InteractiveObject | ||
![]() | ユーザーがポインティングデバイスでフォーカスを変更しようとすると送出されます。 | InteractiveObject | ||
![]() | ユーザーが InteractiveObject の上でポインティングデバイスを移動させたときに送出されます。 | InteractiveObject | ||
![]() | ユーザーが InteractiveObject インスタンスからポインティングデバイスを離したときに送出されます。 | InteractiveObject | ||
![]() | ユーザーが Flash Player ウィンドウの InteractiveObject インスタンスにポインティングデバイスを合わせたときに送出されます。 | InteractiveObject | ||
![]() | ユーザーが Flash Player ウィンドウの InteractiveObject インスタンスの上でポインティングデバイスのボタンを解放したときに送出されます。 | InteractiveObject | ||
![]() | Flash Player ウィンドウの InteractiveObject インスタンスの上でマウスホイールを回転させたときに送出されます。 | InteractiveObject | ||
![]() | 表示オブジェクトが表示リストから削除されようとしているときに送出されます。 | DisplayObject | ||
![]() | 表示オブジェクトが、直接、または表示オブジェクトを含むサブツリーの削除により、表示リストから削除されようとしているときに送出されます。 | DisplayObject | ||
![]() | 表示リストが更新およびレンダリングされようとしているときに送出されます。 | DisplayObject | ||
![]() | ユーザーが InteractiveObject インスタンスからポインティングデバイスを離したときに送出されます。 | InteractiveObject | ||
![]() | ユーザーが InteractiveObject インスタンスにポインティングデバイスを合わせたときに送出されます。 | InteractiveObject | ||
| ユーザーがスクロールを行ったときに TextField オブジェクトによって送出されます。 | TextField | |||
![]() | オブジェクトの tabChildren フラグの値が変更されたときに送出されます。 | InteractiveObject | ||
![]() | オブジェクトの tabEnabled フラグが変更されたときに送出されます。 | InteractiveObject | ||
![]() | オブジェクトの tabIndex プロパティの値が変更されたときに送出されます。 | InteractiveObject | ||
| Flash Player は、ユーザーがテキストの文字を入力すると textInput イベントを送出します。 | TextField | |||
| alwaysShowSelection | プロパティ |
alwaysShowSelection:Boolean [read-write]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
true に設定され、テキストフィールドにフォーカスがない場合、テキストフィールド内の選択内容は灰色でハイライト表示されます。false に設定され、テキストフィールドにフォーカスがない場合、テキストフィールド内の選択内容はハイライト表示されません。
デフォルト値 : false.
public function get alwaysShowSelection():Boolean
public function set alwaysShowSelection(value:Boolean):void
関連項目
package {
import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFieldType;
public class TextField_alwaysShowSelection extends Sprite {
public function TextField_alwaysShowSelection() {
var label1:TextField = createTextField(0, 20, 200, 20);
label1.text = "This text is selected.";
label1.setSelection(0, 9);
label1.alwaysShowSelection = true;
var label2:TextField = createTextField(0, 50, 200, 20);
label2.text = "Drag to select some of this text.";
}
private function createTextField(x:Number, y:Number, width:Number, height:Number):TextField {
var result:TextField = new TextField();
result.x = x; result.y = y;
result.width = width; result.height = height;
addChild(result);
return result;
}
}
}| antiAliasType | プロパティ |
antiAliasType:String [read-write]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
このテキストフィールドに使用されるアンチエイリアス処理のタイプです。このプロパティには、flash.text.AntiAliasType 定数を使用します。この設定は、フォントが埋め込まれている (embedFonts プロパティが true に設定されている) 場合にのみ制御できます。デフォルト設定は、flash.text.AntiAliasType.NORMAL です。
このプロパティの値を設定するには、次のストリング値を使用します。
| ストリング値 | 概要 |
|---|---|
flash.text.AntiAliasType.NORMAL | 通常のテキストにアンチエイリアスを適用します。これは、Flash Player 7 以前のバージョンで使用されているアンチエイリアスのタイプと一致します。 |
flash.text.AntiAliasType.ADVANCED | 文字を読みやすくする高度なアンチエイリアスを適用します。これは Flash Player 8 で使用可能になった機能です。高度なアンチエイリアスでは、小さいサイズのフォントフェイスを高品質でレンダリングすることができます。これは、小さいフォントのテキストが多いアプリケーションでの使用に最も適しています。48 ポイントより大きいフォントに対して高度なアンチエイリアスを使用することはお勧めしません。 |
public function get antiAliasType():String
public function set antiAliasType(value:String):void
関連項目
| autoSize | プロパティ |
autoSize:String [read-write]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
テキストフィールドの自動的な拡大・縮小および整列を制御します。TextFieldAutoSize 定数の有効な値は次のとおりです。TextFieldAutoSize.NONE (デフォルト)、TextFieldAutoSize.LEFT、TextFieldAutoSize.RIGHT、および TextFieldAutoSize.CENTER。
autoSize が TextFieldAutoSize.NONE (デフォルト値) に設定されていると、サイズ変更は行われません。
autoSize を TextFieldAutoSize.LEFT に設定すると、テキストは左揃えテキストとして扱われます。つまり、テキストフィールドの左マージンが固定され、テキストフィールドの単一行の右マージンのみが伸縮します。テキストに改行 ("\n" または "\r" など) が含まれる場合、テキストの次の行が収まるようにフィールドの下側も拡張されます。wordWrap も true に設定した場合、テキストフィールドの下側だけが伸縮し、右側は固定されたままになります。
autoSize を TextFieldAutoSize.RIGHT に設定すると、テキストは右揃えテキストとして扱われます。つまり、テキストフィールドの右マージンが固定され、テキストフィールドの単一行の左マージンのみが伸縮します。テキストに改行 ("\n" または "\r" など) が含まれる場合、テキストの次の行が収まるようにフィールドの下側も拡張されます。wordWrap も true に設定した場合、テキストフィールドの下側だけが伸縮し、左側は固定されたままになります。
autoSize を TextFieldAutoSize.CENTER に設定すると、テキストは中央揃えテキストとして扱われます。つまり、テキストフィールドの単一行のサイズ変更を行うと、左右両マージンが均等に伸縮されます。テキストに改行 ("\n" または "\r" など) が含まれる場合、テキストの次の行が収まるようにフィールドの下側も拡張されます。wordWrap も true に設定した場合、テキストフィールドの下側だけが伸縮し、左右両側は固定されたままになります。
public function get autoSize():String
public function set autoSize(value:String):void
ArgumentError — 指定された autoSize は、flash.text.TextFieldAutoSize のメンバーではありません。
|
関連項目
| background | プロパティ |
background:Boolean [read-write]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
テキストフィールドに背景の塗りつぶしがあるかどうかを指定します。true である場合、テキストフィールドに背景の塗りがあります。false である場合、テキストフィールドには背景の塗りがありません。backgroundColor プロパティを使用して、テキストフィールドの背景色を設定します。
デフォルト値 : false.
public function get background():Boolean
public function set background(value:Boolean):void
関連項目
| backgroundColor | プロパティ |
backgroundColor:uint [read-write]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
テキストフィールドの背景の色。デフォルト値は 0xFFFFFF (白) です。このプロパティは、現在背景がない場合でも取得または設定できます。ただし、背景の色が表示されるのはテキストフィールドの background プロパティが true に設定されている場合のみです。
public function get backgroundColor():uint
public function set backgroundColor(value:uint):void
関連項目
| border | プロパティ |
border:Boolean [read-write]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
テキストフィールドに境界線があるかどうかを指定します。true である場合、テキストフィールドに境界線があります。false である場合、テキストフィールドに境界線がありません。borderColor プロパティを使用して、境界線の色を設定します。
デフォルト値 : false.
public function get border():Boolean
public function set border(value:Boolean):void
関連項目
| borderColor | プロパティ |
borderColor:uint [read-write]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
テキストフィールドの境界線の色。デフォルト値は 0x000000 (黒) です。このプロパティは、現在境界線がない場合でも取得または設定できます。ただし、境界線の色が表示されるのはテキストフィールドの border プロパティが true に設定されている場合のみです。
public function get borderColor():uint
public function set borderColor(value:uint):void
関連項目
| bottomScrollV | プロパティ |
bottomScrollV:int [read-only]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
指定されたテキストフィールドの現在の表示範囲で最終行を示す整数です (1 から始まるインデックス)。テキストフィールドは、テキストのブロックにかぶせたウィンドウのようなものです。scrollV プロパティは、そのウィンドウに表示されている先頭行を示すインデックスです (1 から始まるインデックス)。
scrollV と bottomScrollV で示される行の間のすべてのテキストが、テキストフィールドに現在表示されています。
public function get bottomScrollV():int
関連項目
| caretIndex | プロパティ |
caretIndex:int [read-only]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
カーソル (キャレット) 位置のインデックスです。カーソルが表示されていない場合、値は、フォーカスをそのフィールドに戻した場合にカーソルが表示される位置を示します。通常は、最後にカーソルがあった位置を示します。そのフィールドにフォーカスがなかった場合は、0 を示します。
選択範囲のインデックスは 0 から始まります。たとえば、最初の位置は 0、次の位置は 1 と続きます (以下同様)。
public function get caretIndex():int
関連項目
printCursorPosition メソッドが呼び出されるように、イベントリスナーが割り当てられます。その場合、caretIndex プロパティ、selectionBeginIndex プロパティ、および selectionEndIndex プロパティの値が出力されます。
この例を実行し、TextField をクリックしてテキストを選択します。次に、テキストを選択せずにテキストフィールドをクリックします。選択なしでテキストをクリックする場合、caretIndex プロパティはカーソル位置を示し、selectionBeginIndex プロパティおよび selectionEndIndex プロパティは、caretIndex プロパティの値と等しくなります。
package {
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.text.TextField;
import flash.text.TextFieldType;
public class TextField_caretIndex extends Sprite {
public function TextField_caretIndex() {
var tf:TextField = createTextField(10, 10, 100, 100);
tf.wordWrap = true;
tf.type = TextFieldType.INPUT;
tf.text = "Click in this text field. Compare the difference between clicking without selecting versus clicking and selecting text.";
tf.addEventListener(MouseEvent.CLICK, printCursorPosition);
}
private function printCursorPosition(event:MouseEvent):void {
var tf:TextField = TextField(event.target);
trace("caretIndex:", tf.caretIndex);
trace("selectionBeginIndex:", tf.selectionBeginIndex);
trace("selectionEndIndex:", tf.selectionEndIndex);
}
private function createTextField(x:Number, y:Number, width:Number, height:Number):TextField {
var result:TextField = new TextField();
result.x = x;
result.y = y;
result.width = width;
result.height = height;
addChild(result);
return result;
}
}
}| condenseWhite | プロパティ |
condenseWhite:Boolean [read-write]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
HTML テキストが含まれるテキストフィールド内の余分な空白 (スペース、改行など) を削除するかどうかを指定するブール値です。デフォルト値は false です。condenseWhite プロパティは、htmlText プロパティで設定されたテキストにのみ影響し、text プロパティで設定されたテキストには影響しません。 text プロパティでテキストを設定した場合、condenseWhite は無視されます。
condenseWhite を true に設定した場合は、テキストフィールド内で改行を指定するときに <BR> や <P> といった標準の HTML コマンドを使用する必要があります。
condenseWhite プロパティは htmlText プロパティを設定する前に設定します。
public function get condenseWhite():Boolean
public function set condenseWhite(value:Boolean):void
関連項目
condenseWhite を false に設定する場合と、true に設定する場合の違いを示します。
package {
import flash.display.Sprite;
import flash.text.TextField;
public class TextField_condenseWhite extends Sprite {
public function TextField_condenseWhite() {
var tf1:TextField = createTextField(0, 0, 200, 50);
tf1.condenseWhite = false;
tf1.htmlText = "keep on\n\ttruckin'";
var tf2:TextField = createTextField(0, 120, 200, 50);
tf2.condenseWhite = true;
tf2.htmlText = "keep on\n\ttruckin'";
}
private function createTextField(x:Number, y:Number, width:Number, height:Number):TextField {
var result:TextField = new TextField();
result.x = x;
result.y = y;
result.width = width;
result.height = height;
result.border = true;
addChild(result);
return result;
}
}
}| defaultTextFormat | プロパティ |
defaultTextFormat:TextFormat [read-write]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
新しく挿入するテキスト (replaceSelectedText() メソッドで挿入したテキストまたはユーザーが入力したテキストなど) に適用するフォーマットを指定します。
defaultTextFormat プロパティにアクセスすると、すべてのプロパティが定義された TextFormat オブジェクトが返されます。null のプロパティはありません。
メモ : このプロパティはテキストフィールドにスタイルシートが適用されていると設定できません。
public function get defaultTextFormat():TextFormat
public function set defaultTextFormat(value:TextFormat):void
Error — このメソッドは、スタイルシートを使用するテキストフィールドに対しては使用できません。
|
関連項目
| displayAsPassword | プロパティ |
displayAsPassword:Boolean [read-write]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
テキストフィールドがパスワードテキストフィールドであるかどうかを指定します。このプロパティの値が true である場合、テキストフィールドはパスワードテキストフィールドとして扱われ、入力された文字は実際の文字の代わりにアスタリスクで隠されます。false である場合、テキストフィールドはパスワードテキストフィールドとして扱われません。パスワードモードを有効にすると、[カット] コマンドと [コピー] コマンド、およびそれに対応するキーボードショートカットが機能しなくなります。このセキュリティ機能により、ユーザーの不在時にキーボードショートカットを使用して悪質なユーザーがパスワードを盗むことを防止できます。
デフォルト値 : false.
public function get displayAsPassword():Boolean
public function set displayAsPassword(value:Boolean):void
| embedFonts | プロパティ |
embedFonts:Boolean [read-write]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
埋め込みフォントのアウトラインを使用してレンダリングするかどうかを指定します。false である場合は、デバイスフォントを使用してテキストフィールドをレンダリングします。
テキストフィールドの embedFonts プロパティを true に設定する場合、テキストフィールドに適用される TextFormat オブジェクトの font プロパティを使用して、そのテキストのフォントを指定する必要があります。指定したフォントが SWF ファイルに埋め込まれていない場合、テキストは表示されません。
デフォルト値 : false.
public function get embedFonts():Boolean
public function set embedFonts(value:Boolean):void
関連項目
| gridFitType | プロパティ |
gridFitType:String [read-write]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
このテキストフィールドに使用されるグリッドフィッティングのタイプです。このプロパティは、テキストフィールドの flash.text.AntiAliasType プロパティが flash.text.AntiAliasType.ADVANCED に設定されている場合にのみ適用されます。
使用されるグリッドフィッティングのタイプによって、太い水平線と垂直線がピクセルグリッドまたはサブピクセルグリッドに合わされるか合わされないかが決定されます。
flash.text.GridFitType プロパティでは、次のストリング値を使用できます。
| ストリング値 | 概要 |
|---|---|
flash.text.GridFitType.NONE | グリッドフィッティングなしを指定します。文字の水平方向と垂直方向の線は、ピクセルグリッドに合わされません。通常、これはアニメーションや大きなフォントサイズに適した設定です。 |
flash.text.GridFitType.PIXEL | 太い水平線と垂直線がピクセルグリッドに合わされるように指定します。この設定は左揃えのテキストフィールドに対してのみ機能します。この設定を使用するには、テキストフィールドの flash.dispaly.AntiAliasType プロパティを flash.text.AntiAliasType.ADVANCED に設定する必要があります。左揃えのテキストは通常、この設定を使用すると、最も読みやすくなります。 |
flash.text.GridFitType.SUBPIXEL | 太い水平線と垂直線が、LCD モニタのサブピクセルグリッドに合わされるよう指定します。この設定を使用するには、テキストフィールドの flash.text.AntiAliasType プロパティを flash.text.AntiAliasType.ADVANCED に設定する必要があります。flash.text.GridFitType.SUBPIXEL 設定は、右揃えまたは中央揃えのダイナミックテキストに適した設定で、アニメーション品質とテキスト品質のバランスを取るのに便利です。 |
デフォルト値 : pixel.
public function get gridFitType():String
public function set gridFitType(value:String):void
関連項目
| htmlText | プロパティ |
htmlText:String [read-write]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
テキストフィールドの内容を HTML で示します。
Flash Player では、次の HTML タグがサポートされています。
| タグ | 概要 |
|---|---|
| アンカータグ |
<a> タグはハイパーリンクを作成するもので、次の属性を指定できます。
|
| ボールドタグ |
<b> タグは、テキストをボールドで表示します。ボールド体を利用できるフォントで使用する必要があります。
|
| ブレークタグ |
<br> タグは、テキストフィールドに改行を作成します。このタグを使用するには、テキストフィールドを複数行テキストフィールドに設定する必要があります。
|
| フォントタグ |
<font> タグは、テキストを表示するフォントまたはフォントリストを指定します。フォントタグには、次の属性を指定できます。
|
| イメージタグ |
<img> タグは、外部イメージファイル (JPEG、GIF、PNG)、SWF ファイル、およびムービークリップをテキストフィールドに埋め込みます。テキストは、テキストフィールドに埋め込んだイメージの周囲に自動的に配置されます。このタグを使用するには、テキストフィールドを複数行および折り返しテキストに設定する必要があります。
Flash はテキストフィールドに埋め込まれたメディアをフルサイズで表示します。埋め込むメディアのサイズを指定するには、 一般に、テキストフィールドに埋め込まれたイメージは、 |
| イタリックタグ |
<i> タグは、指定されたテキストをイタリックで表示します。イタリック体を利用できるフォントで使用する必要があります。
|
| リスト項目タグ |
<li> タグは、このタグに囲まれたテキストの行頭に箇条書き記号を表示します。メモ: Flash Player では、番号付きリストタグや番号なしリストタグ (<ol> や <ul>) は認識されないため、これらのタグが使われていてもリストの表示形態に変化はありません。箇条書きでは、すべて番号なしで、すべてのリストアイテムに箇条書き記号が使用されます。
|
| 段落タグ |
<p> タグは新しい段落を作成します。このタグを使用するには、テキストフィールドを複数行テキストフィールドに設定する必要があります。<p> タグには、次の属性を指定できます。
|
| 範囲タグ |
<span> タグは、CSS テキストスタイルでのみ使用できます。次の属性をサポートします。
|
| テキストフォーマットタグ |
|
| アンダーラインタグ |
<u> タグを付けたテキストには下線が引かれます。
|
Flash Player では、次の HTML エンティティがサポートされています。
| エンティティ | 概要 |
|---|---|
| < | < (より小さい) |
| > | > (より大きい) |
| & | & (アンパサンド) |
| " | " (二重引用符) |
| ' | ' (アポストロフィ、一重引用符) |
Flash ではまた、& (ASCII のアンパサンド) や € (Unicode の € シンボル) など、文字コードの明示的な指定もサポートされています。
public function get htmlText():String
public function set htmlText(value:String):void
関連項目
tf1 という TextField を作成し、そのtext プロパティに HTML 形式のストリングを割り当てます。 htmlText プロパティがトレースされると、HTML 形式のストリングが出力されます。Flash Player によって自動的に追加された追加タグ (<P> や <FONT> など) も共に出力されます。text プロパティの値がトレースされると、HTML タグなしのフォーマットされていないストリングが表示されます。
比較するために、tf2 という別の TextField オブジェクトに対して同じ手順を実行します。ここでは追加手順として、StyleSheet オブジェクトを tf2 の styleSheet プロパティに割り当て、その htmlText プロパティを設定します。その場合、htmlText プロパティがトレースされると、最初に htmlText プロパティに割り当てられた HTML テキストだけが含まれ、Flash Player によって追加タグが加えられていないことが示されます。
package {
import flash.display.Sprite;
import flash.text.StyleSheet;
import flash.text.TextField;
public class TextField_text extends Sprite {
public function TextField_text() {
var tf1:TextField = createTextField(10, 10, 400, 22);
tf1.htmlText = "<b>Lorem ipsum dolor sit amet.</b>";
// htmlText: <P ALIGN="LEFT"><FONT FACE="Times New Roman" SIZE="12" COLOR="#000000" LETTERSPACING="0" KERNING="0"><b>Lorem ipsum dolor sit amet.</b></FONT></P>
trace("htmlText: " + tf1.htmlText);
// text: Lorem ipsum dolor sit amet.
trace("text: " + tf1.text);
var tf2:TextField = createTextField(10, 50, 400, 22);
tf2.styleSheet = new StyleSheet();
tf2.htmlText = "<b>Lorem ipsum dolor sit amet.</b>";
// htmlText: <b>Lorem ipsum dolor sit amet.</b>
trace("htmlText: " + tf2.htmlText);
// text: Lorem ipsum dolor sit amet.
trace("text: " + tf2.text);
}
private function createTextField(x:Number, y:Number, width:Number, height:Number):TextField {
var result:TextField = new TextField();
result.x = x;
result.y = y;
result.width = width;
result.height = height;
addChild(result);
return result;
}
}
}| length | プロパティ |
length:int [read-only]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
テキストフィールド内の文字数です。タブ (\t) などの文字も 1 文字としてカウントされます。
public function get length():int
| maxChars | プロパティ |
maxChars:int [read-write]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
ユーザーが入力するときに、テキストフィールドに入力できる最大の文字数です。スクリプトは maxChars の許容数を超えるテキストを挿入できます。maxChars プロパティで指定されるのは、ユーザーが入力できるテキストの量だけです。このプロパティの値が 0 である場合、ユーザーが入力できるテキストの量には制限がありません。
デフォルト値 : 0.
public function get maxChars():int
public function set maxChars(value:int):void
| maxScrollH | プロパティ |
maxScrollH:int [read-only]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
scrollH の最大値です。
public function get maxScrollH():int
関連項目
| maxScrollV | プロパティ |
maxScrollV:int [read-only]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
scrollV の最大値です。
public function get maxScrollV():int
関連項目
| mouseWheelEnabled | プロパティ |
mouseWheelEnabled:Boolean [read-write]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
複数行にわたるテキストフィールドで、ユーザーがテキストフィールドをクリックしてホイールを回転させると、自動的にスクロールするかどうかを示すブール値です。デフォルト値は true です。このプロパティは、マウスホイールでテキストフィールドをスクロールしない場合や、テキストフィールドのスクロールを独自に実装する場合に便利です。
public function get mouseWheelEnabled():Boolean
public function set mouseWheelEnabled(value:Boolean):void
| multiline | プロパティ |
multiline:Boolean [read-write]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
テキストフィールドが複数行テキストフィールドであるかどうかを示します。値が true である場合は複数行テキストフィールド、値が false である場合は単一行テキストフィールドです。
デフォルト値 : false.
public function get multiline():Boolean
public function set multiline(value:Boolean):void
関連項目
| numLines | プロパティ |
numLines:int [read-only]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
複数行テキストフィールド内のテキスト行の数を定義します。wordWrap プロパティが true に設定されている場合、テキストが折り返されると行数は増えます。
public function get numLines():int
関連項目
| restrict | プロパティ |
restrict:String [read-write]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
ユーザーがテキストフィールドに入力できる文字のセットを指定します。restrict プロパティの値が null である場合は、任意の文字を入力できます。restrict プロパティの値が空のストリングである場合は、いずれの文字も入力できません。restrict プロパティの値が文字のストリングである場合は、そのストリング内の文字のみをテキストフィールドに入力できます。ストリングは左から右へスキャンされます。ハイフン (-) 文字を使用して、範囲を指定できます。これはユーザー入力のみを制限します。スクリプトは任意のテキストをテキストフィールドに入力できます。このプロパティは、プロパティインスペクタの埋め込みフォントのオプションと同期しません。
ストリングがキャレット (^) 文字で始まる場合、そのストリングに含まれる文字を除いて、すべての文字を入力できます。ストリングがキャレット (^) 文字以外で始まる場合は、そのストリングに含まれる文字のみを入力できます。
次の例では、大文字、スペース、および数値のみをテキストフィールドに入力できます。
my_txt.restrict = "A-Z 0-9";
次の例では、小文字を除くすべての文字を入力できます。
my_txt.restrict = "^a-z";
円記号を使用して ^ または - のリテラルを入力できます。許容される円記号のシーケンスは \-、\^、または \\ です。円記号をストリングの 1 文字として実際に使用するには、ActionScript で指定するときに円記号を 2 つ続けて指定する必要があります。たとえば、次のコードで表されるのはダッシュ (-) とキャレット (^) のみです。
my_txt.restrict = "\\-\\^";
ストリング内では任意の場所で ^ を使用し、入力できる文字と除外する文字を切り替えることができます。次のコードでは、大文字のみを入力できます。ただし、大文字の Q を除きます。
my_txt.restrict = "A-Z^Q";
u エスケープシーケンスを使用して、restrict ストリングを構築できます。次のコードでは、ASCII 32 (スペース) から ASCII 126 (チルダ) までの文字のみを入力できます。
my_txt.restrict = "\u0020-\u007E";
デフォルト値 : null.
public function get restrict():String
public function set restrict(value:String):void
| scrollH | プロパティ |
scrollH:int [read-write]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
現在の水平スクロール位置です。scrollH プロパティが 0 である場合、テキストは水平にスクロールされません。このプロパティの値は、水平位置をピクセル単位で表す整数です。
垂直スクロールの単位は行数ですが、水平スクロールの単位はピクセル数です。水平スクロールをピクセル単位で指定するのは、一般的に使用されるフォントのほとんどがプロポーショナルフォントであり、文字の幅が一定でないためです。垂直スクロールの場合は、通常、1 行のテキストの一部だけ表示されるよりも行全体が表示されることが好まれるため、行単位でスクロールします。1 行の中に複数のフォントが存在する場合でも、使用されている最大のフォントに合わせて行の高さが調整されます。
メモ : scrollH プロパティは、scrollV 垂直スクロールプロパティのように 1 から始まるのではなく、0 から始まります。
public function get scrollH():int
public function set scrollH(value:int):void
関連項目
| scrollV | プロパティ |
scrollV:int [read-write]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
テキストフィールドのテキストの垂直位置です。scrollV プロパティは、長い文節内の特定の段落にユーザーを誘導したり、スクロールテキストフィールドを作成する場合に便利です。
水平スクロールの単位はピクセル数ですが、垂直スクロールの単位は行数です。表示される最初の行がテキストフィールド内の最初の行の場合、scrollV は 1 に設定されます。0 ではありません。水平スクロールをピクセル単位で指定するのは、フォントのほとんどがプロポーショナルフォントであり、文字の幅が一定でないためです。垂直スクロールの場合は、通常、1 行のテキストの一部だけ表示されるよりも行全体が表示されることが好まれるため、行単位でスクロールします。1 行の中に複数のフォントが存在する場合でも、使用されている最大のフォントに合わせて行の高さが調整されます。
public function get scrollV():int
public function set scrollV(value:int):void
関連項目
| selectable | プロパティ |
selectable:Boolean [read-write]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
テキストフィールドが選択可能であるかどうかを示すブール値です。値 true は、テキストが選択可能であることを示します。selectable プロパティを使用することで、テキストフィールドが選択可能かどうかを指定できますが、編集可能かどうかは指定できません。ダイナミックテキストフィールドは、編集可能でない場合でも選択可能にすることができます。ダイナミックテキストフィールドが選択可能でない場合、ユーザーはフィールド内のテキストを選択できません。
selectable を false に設定すると、テキストフィールド内のテキストはマウスやキーボードからの選択コマンドに応答しなくなり、[コピー] コマンドを使用してテキストをコピーすることができなくなります。selectable を true に設定すると、テキストフィールド内のテキストはマウスやキーボードを使用して選択できるようになり、[コピー] コマンドを使用してテキストをコピーできるようになります。テキスト入力フィールドではなくダイナミックテキストフィールドの場合でも、この方法でテキストを選択できます。
デフォルト値 : true.
public function get selectable():Boolean
public function set selectable(value:Boolean):void
関連項目
| selectionBeginIndex | プロパティ |
selectionBeginIndex:int [read-only]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
現在の選択範囲の最初の文字を示す 0 から始まるインデックス値です。たとえば、最初の文字が 0、次の文字が 1 と続きます (以下同様)。テキストが選択されていない場合、このプロパティは caretIndex の値になります。
public function get selectionBeginIndex():int
関連項目
printCursorPosition メソッドが呼び出されるように、イベントリスナーが割り当てられます。その場合、caretIndex プロパティ、selectionBeginIndex プロパティ、および selectionEndIndex プロパティの値が出力されます。
この例を実行し、TextField をクリックしてテキストを選択します。次に、テキストを選択せずにテキストフィールドをクリックします。選択なしでテキストをクリックする場合、caretIndex プロパティはカーソル位置を示し、selectionBeginIndex プロパティおよび selectionEndIndex プロパティは、caretIndex プロパティの値と等しくなります。
package {
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.text.TextField;
import flash.text.TextFieldType;
public class TextField_caretIndex extends Sprite {
public function TextField_caretIndex() {
var tf:TextField = createTextField(10, 10, 100, 100);
tf.wordWrap = true;
tf.type = TextFieldType.INPUT;
tf.text = "Click in this text field. Compare the difference between clicking without selecting versus clicking and selecting text.";
tf.addEventListener(MouseEvent.CLICK, printCursorPosition);
}
private function printCursorPosition(event:MouseEvent):void {
var tf:TextField = TextField(event.target);
trace("caretIndex:", tf.caretIndex);
trace("selectionBeginIndex:", tf.selectionBeginIndex);
trace("selectionEndIndex:", tf.selectionEndIndex);
}
private function createTextField(x:Number, y:Number, width:Number, height:Number):TextField {
var result:TextField = new TextField();
result.x = x;
result.y = y;
result.width = width;
result.height = height;
addChild(result);
return result;
}
}
}| selectionEndIndex | プロパティ |
selectionEndIndex:int [read-only]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
現在の選択範囲における最後の文字を示す、0 から始まるインデックス値です。たとえば、最初の文字が 0、次の文字が 1 と続きます (以下同様)。テキストが選択されていない場合、このプロパティは caretIndex の値になります。
public function get selectionEndIndex():int
関連項目
printCursorPosition メソッドが呼び出されるように、イベントリスナーが割り当てられます。その場合、caretIndex プロパティ、selectionBeginIndex プロパティ、および selectionEndIndex プロパティの値が出力されます。
この例を実行し、TextField をクリックしてテキストを選択します。次に、テキストを選択せずにテキストフィールドをクリックします。選択なしでテキストをクリックする場合、caretIndex プロパティはカーソル位置を示し、selectionBeginIndex プロパティおよび selectionEndIndex プロパティは、caretIndex プロパティの値と等しくなります。
package {
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.text.TextField;
import flash.text.TextFieldType;
public class TextField_caretIndex extends Sprite {
public function TextField_caretIndex() {
var tf:TextField = createTextField(10, 10, 100, 100);
tf.wordWrap = true;
tf.type = TextFieldType.INPUT;
tf.text = "Click in this text field. Compare the difference between clicking without selecting versus clicking and selecting text.";
tf.addEventListener(MouseEvent.CLICK, printCursorPosition);
}
private function printCursorPosition(event:MouseEvent):void {
var tf:TextField = TextField(event.target);
trace("caretIndex:", tf.caretIndex);
trace("selectionBeginIndex:", tf.selectionBeginIndex);
trace("selectionEndIndex:", tf.selectionEndIndex);
}
private function createTextField(x:Number, y:Number, width:Number, height:Number):TextField {
var result:TextField = new TextField();
result.x = x;
result.y = y;
result.width = width;
result.height = height;
addChild(result);
return result;
}
}
}| sharpness | プロパティ |
sharpness:Number [read-write]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
このテキストフィールド内の文字エッジのシャープネスです。このプロパティは、テキストフィールドの flash.text.AntiAliasType プロパティが flash.text.AntiAliasType.ADVANCED に設定されている場合にのみ適用されます。sharpness の範囲は -400 ~ 400 の数値です。sharpness をこの範囲外の値に設定すると、このプロパティは範囲内の最も近い値 (-400 または 400) に設定されます。
デフォルト値 : 0.
public function get sharpness():Number
public function set sharpness(value:Number):void
関連項目
| styleSheet | プロパティ |
styleSheet:StyleSheet [read-write]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
テキストフィールドにスタイルシートを関連付けます。スタイルシートの作成の詳細については、StyleSheet クラスおよび『ActionScript 3.0 のプログラミング』を参照してください。
テキストフィールドに関連付けられているスタイルシートは、いつでも変更することができます。使用されているスタイルシートを変更すると、テキストフィールドは新しいスタイルシートを使用して再描画されます。スタイルシートを null または undefined に設定すると、そのスタイルシートを削除できます。使用されているスタイルシートを削除すると、テキストフィールドはスタイルシートを使用せずに再描画されます。
メモ : スタイルシートが削除されると、TextField.text および TextField.htmlText の内容は両方とも、以前にスタイルシートで適用したフォーマットを適用するように変更されます。TextField.htmlText の内容をフォーマットなしで保存するには、スタイルシートを削除する前に変数にその値を保存します。
public function get styleSheet():StyleSheet
public function set styleSheet(value:StyleSheet):void
関連項目
| text | プロパティ |
text:String [read-write]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
テキストフィールド内の現在のテキストであるストリングです。行は復帰文字 ('\r'、ASCII 13) で区切られます。このプロパティは、HTML タグが付いていない、テキストフィールド内のフォーマットなしのテキストを示します。
HTML フォーム内のテキストを取得するには、htmlText プロパティを使用します。
public function get text():String
public function set text(value:String):void
関連項目
tf1 という TextField を作成し、そのtext プロパティに HTML 形式のストリングを割り当てます。 htmlText プロパティがトレースされると、HTML 形式のストリングが出力されます。Flash Player によって自動的に追加された追加タグ (<P> や <FONT> など) も共に出力されます。text プロパティの値がトレースされると、HTML タグなしのフォーマットされていないストリングが表示されます。
比較するために、tf2 という別の TextField オブジェクトに対して同じ手順を実行します。ここでは追加手順として、StyleSheet オブジェクトを tf2 の styleSheet プロパティに割り当て、その htmlText プロパティを設定します。その場合、htmlText プロパティがトレースされると、最初に htmlText プロパティに割り当てられた HTML テキストだけが含まれ、Flash Player によって追加タグが加えられていないことが示されます。
package {
import flash.display.Sprite;
import flash.text.StyleSheet;
import flash.text.TextField;
public class TextField_text extends Sprite {
public function TextField_text() {
var tf1:TextField = createTextField(10, 10, 400, 22);
tf1.htmlText = "<b>Lorem ipsum dolor sit amet.</b>";
// htmlText: <P ALIGN="LEFT"><FONT FACE="Times New Roman" SIZE="12" COLOR="#000000" LETTERSPACING="0" KERNING="0"><b>Lorem ipsum dolor sit amet.</b></FONT></P>
trace("htmlText: " + tf1.htmlText);
// text: Lorem ipsum dolor sit amet.
trace("text: " + tf1.text);
var tf2:TextField = createTextField(10, 50, 400, 22);
tf2.styleSheet = new StyleSheet();
tf2.htmlText = "<b>Lorem ipsum dolor sit amet.</b>";
// htmlText: <b>Lorem ipsum dolor sit amet.</b>
trace("htmlText: " + tf2.htmlText);
// text: Lorem ipsum dolor sit amet.
trace("text: " + tf2.text);
}
private function createTextField(x:Number, y:Number, width:Number, height:Number):TextField {
var result:TextField = new TextField();
result.x = x;
result.y = y;
result.width = width;
result.height = height;
addChild(result);
return result;
}
}
}| textColor | プロパティ |
textColor:uint [read-write]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
テキストフィールドのテキストの色です (16 進数形式)。16 進数カラーシステムでは、6 桁の数値を使用して色の値を示します。1 つの桁で、16 種類の値 (文字) を指定できます。値の範囲は、0 ~ 9、A ~ F です。たとえば、黒は (0x000000)、白は (0xFFFFFF) です。
デフォルト値 : 0 (0x000000).
public function get textColor():uint
public function set textColor(value:uint):void
textColor プロパティが赤 (0xFF0000) に変更されます。
package {
import flash.display.Sprite;
import flash.text.TextField;
public class TextField_textColor extends Sprite {
public function TextField_textColor() {
var tf:TextField = createTextField(10, 10, 100, 300);
tf.text = "This will be red text";
tf.textColor = 0xFF0000;
}
private function createTextField(x:Number, y:Number, width:Number, height:Number):TextField {
var result:TextField = new TextField();
result.x = x;
result.y = y;
result.width = width;
result.height = height;
addChild(result);
return result;
}
}
}| textHeight | プロパティ |
textHeight:Number [read-only]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
テキストの高さです (ピクセル単位)。
public function get textHeight():Number
関連項目
trace ステートメントにより、textWidth プロパティおよび textHeight プロパティの値が表示されます。比較するために、width プロパティおよび height プロパティも表示されます。(textHeight および textWidth に対して表示される値は、お使いのコンピュータで使用されているフォントによって異なることがあります)。
package {
import flash.display.Sprite;
import flash.text.TextField;
public class TextField_textHeight extends Sprite {
public function TextField_textHeight() {
var tf:TextField = createTextField(10, 10, 100, 150);
tf.text = "Sample text";
trace("textWidth: " + tf.textWidth); // textWidth: 55.75
trace("textHeight: " + tf.textHeight); // textHeight: 13.450000000000001
trace("width: " + tf.width); // width: 100
trace("height: " + tf.height); // height: 150
}
private function createTextField(x:Number, y:Number, width:Number, height:Number):TextField {
var result:TextField = new TextField();
result.x = x;
result.y = y;
result.width = width;
result.height = height;
result.border = true;
result.background = true;
addChild(result);
return result;
}
}
}| textWidth | プロパティ |
textWidth:Number [read-only]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
テキストの幅です (ピクセル単位)。
public function get textWidth():Number
関連項目
trace ステートメントにより、textWidth プロパティおよび textHeight プロパティの値が表示されます。比較するために、width プロパティおよび height プロパティも表示されます。(textHeight および textWidth に対して表示される値は、お使いのコンピュータで使用されているフォントによって異なることがあります)。
package {
import flash.display.Sprite;
import flash.text.TextField;
public class TextField_textHeight extends Sprite {
public function TextField_textHeight() {
var tf:TextField = createTextField(10, 10, 100, 150);
tf.text = "Sample text";
trace("textWidth: " + tf.textWidth); // textWidth: 55.75
trace("textHeight: " + tf.textHeight); // textHeight: 13.450000000000001
trace("width: " + tf.width); // width: 100
trace("height: " + tf.height); // height: 150
}
private function createTextField(x:Number, y:Number, width:Number, height:Number):TextField {
var result:TextField = new TextField();
result.x = x;
result.y = y;
result.width = width;
result.height = height;
result.border = true;
result.background = true;
addChild(result);
return result;
}
}
}| thickness | プロパティ |
thickness:Number [read-write]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
このテキストフィールド内の文字エッジの太さです。このプロパティは、flash.text.AntiAliasType が flash.text.AntiAliasType.ADVANCED に設定されている場合にのみ適用されます。
thickness の範囲は、-200 ~ 200 の数値です。thickness をこの範囲外の値に設定すると、このプロパティは範囲内の最も近い値 (-200 または 200) に設定されます。
デフォルト値 : 0.
public function get thickness():Number
public function set thickness(value:Number):void
関連項目
| type | プロパティ |
type:String [read-write]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
テキストフィールドのタイプです。次の TextFieldType 定数のいずれかです。TextFieldType.DYNAMIC はダイナミックテキストフィールドを指定します。このフィールドをユーザーが編集することはできません。TextFieldType.INPUT はテキスト入力フィールドを指定します。このフィールドはユーザーが編集できます。
デフォルト値 : dynamic.
public function get type():String
public function set type(value:String):void
ArgumentError — 指定された type は、flash.text.TextFieldType のメンバーではありません。
|
関連項目
tfDynamic および tfInput を作成します。両方のテキストフィールドにテキストが入力されます。ただし、tfDynamic に対しては type プロパティを TextFieldType.DYNAMIC に設定し、tfInput に対しては type プロパティを TextFieldType.INPUT に設定しているため、tfInput のテキストは修正できますが、tfDynamic のテキストは表示専用です。
package {
import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFieldType;
public class TextField_type extends Sprite {
public function TextField_type() {
var tfDynamic:TextField = createTextField(10, 10, 100, 20);
tfDynamic.type = TextFieldType.DYNAMIC;
tfDynamic.text = "hello";
var tfInput:TextField = createTextField(10, 45, 100, 20);
tfInput.type = TextFieldType.INPUT;
tfInput.text = "world";
}
private function createTextField(x:Number, y:Number, width:Number, height:Number):TextField {
var result:TextField = new TextField();
result.x = x;
result.y = y;
result.width = width;
result.height = height;
result.background = true;
result.border = true;
addChild(result);
return result;
}
}
}| useRichTextClipboard | プロパティ |
useRichTextClipboard:Boolean [read-write]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
テキストと共にテキストのフォーマットをコピー & ペーストするかどうかを指定します。true に設定されている場合、テキストフィールド間でコピー & ペーストを行うと、Flash Player によってフォーマット (行揃え、ボールド、イタリックなど) もコピー & ペーストされます。コピー & ペースト手順のコピー元とペースト先のテキストフィールドの両方で、useRichTextClipboard が true に設定されている必要があります。デフォルト値は false です。
public function get useRichTextClipboard():Boolean
public function set useRichTextClipboard(value:Boolean):void
| wordWrap | プロパティ |
wordWrap:Boolean [read-write]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
テキストフィールドのテキストを折り返すかどうかを示すブール値です。wordWrap の値が true である場合は、テキストフィールドのテキストを折り返し、false である場合は折り返しません。デフォルト値は false です。
public function get wordWrap():Boolean
public function set wordWrap(value:Boolean):void
wordWrap プロパティを true に設定する場合と、false に設定する場合の違いを説明します。幅に対して大きすぎるコンテンツが含まれる 2 つの TextField インスタンスが作成されます。wordWrap プロパティは、1 番目のインスタンス (tfWrap) で true に設定され、2 番目のインスタンスでは false に設定されています (tfNoWrap)。
package {
import flash.display.Sprite;
import flash.text.TextField;
public class TextField_wordWrap extends Sprite {
public function TextField_wordWrap() {
var tfWrap:TextField = createTextField(10, 10, 100, 100);
tfWrap.wordWrap = true;
tfWrap.text = "(wordWrap = true):\nThis is very long text that will certainly extend beyond the width of this text field";
var tfNoWrap:TextField = createTextField(10, 150, 100, 100);
tfNoWrap.wordWrap = false;
tfNoWrap.text = "(wordWrap = false):\nThis is very long text that will certainly extend beyond the width of this text field";
}
private function createTextField(x:Number, y:Number, width:Number, height:Number):TextField {
var result:TextField = new TextField();
result.x = x;
result.y = y;
result.width = width;
result.height = height;
result.background = true;
result.border = true;
addChild(result);
return result;
}
}
}| TextField | () | コンストラクタ |
public function TextField()
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
新しい TextField インスタンスを作成します。TextField インスタンスの作成後、親 DisplayObjectContainer オブジェクトの addChild() メソッドまたは addChildAt() メソッドを呼び出し、TextField インスタンスを表示リストに追加します。
テキストフィールドのデフォルトサイズは 100×100 ピクセルです。
| appendText | () | メソッド |
public function appendText(newText:String):void
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
newText パラメータで指定されたストリングを、テキストフィールドのテキストの最後に付加します。大量の内容が含まれるテキストフィールドの場合は特に、このメソッドを使用するほうが、付加の指定 (+=) を text プロパティに加える (someTextField.text += moreText など) よりも効率的です。
パラメータ
newText:String — 既存のテキストに追加するストリングです。
|
outputText テキストフィールドが、autoSize プロパティにより、テキストに合わせて自動的に設定され、サイズが左揃えテキストに合わせて変更されます。outputText.text プロパティがコンテンツの最初の行を書き出し、appendText() メソッドが残りのコンテンツを追加します。text プロパティで開始する必要はありません。appendText() メソッドを使用して、最初からテキストを追加することもできます。text プロパティをもう一度設定すると、元のテキストが上書きされます。+= 演算子を使用して、text プロパティでコンテンツを追加します。
if ステートメントは、日付が木曜日 (6) か日曜日 (0) かをチェックします。それ以外の場合、toLocaleTimeString() メソッドがローカル時間を返し、この時間がテキストフィールドのコンテンツに追加されます。
テキストフィールドの length プロパティは、関数が呼び出される直前の文字数を読み取るために使用され、numLines プロパティは、テキストフィールドの行数をカウントするために使用されます。空白行が行数にカウントされ、コンテンツの長さを特定するために空白文字と改行 (\n) がカウントされます。
package {
import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
public class TextField_appendTextExample extends Sprite {
public function TextField_appendTextExample() {
var outputText:TextField = new TextField();
var today:Date = new Date();
outputText.x = 10;
outputText.y = 10;
outputText.background = true;
outputText.autoSize = TextFieldAutoSize.LEFT;
outputText.text = "WHAT TIME IS IT?" + "\n\n";
if((today.day == 0) || (today.day == 6)) {
outputText.appendText("It's the weekend.");
outputText.appendText("\n\n");
} else {
outputText.appendText("The time is: ");
outputText.appendText(today.toLocaleTimeString() + ".\n\n");
}
outputText.appendText("Number of characters including line breaks and spaces so far: ");
outputText.appendText(outputText.length.toString() + "\n");
outputText.appendText("Number of lines in the outputText: ");
outputText.appendText(outputText.numLines.toString());
this.addChild(outputText);
}
}
}
| getCharBoundaries | () | メソッド |
public function getCharBoundaries(charIndex:int):Rectangle
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
文字の境界ボックスである矩形を返します。
パラメータ
charIndex:int — 0 から始まる文字のインデックス値です。たとえば、最初の位置は 0、次の位置は 1 と続きます (以下同様)。
|
Rectangle — 文字の境界ボックスを定義する x および y の最小値と最大値が指定された矩形です。
|
関連項目
getCharBoundaries() メソッドが使用されます。
クラスは、選択された各文字の周囲に矩形を描画するために使用する spotlight Shape オブジェクトを定義します。ユーザーが myTextField テキストフィールドをクリックすると、clickHandler() メソッドが呼び出されます。
clickHandler() メソッドで、getCharIndexAtPoint() メソッドがクリックされた文字のインデックスを取得します。このインデックスは、マウスクリックの localX と localY 座標に基づき、含まれる Sprite を基準にして表されます。ポイント (マウスクリック) された箇所に文字がない場合、getCharIndexAtPoint() メソッドは -1 を返します。テキストフィールドがテキストより大きい場合があるので、返される整数 (index) がチェックされ、ユーザーが文字をクリックしたかどうかが確認されます。また、index 整数は getCharBoundaries() によって使用され、文字の境界を保持する Rectangle オブジェクトが取得されます。clear() メソッドが、以前に表示された spotlight Shape オブジェクトをクリアします。文字の幅と高さの境界のサイズを持つ新しい矩形が、返された frame 矩形の x および y 座標を使用して、文字の位置 ((10, 10) 座標からのオフセット) に生成されます。文字にスポットライトを設定するには、spotlight Shape オブジェクトを黄色で塗りつぶし、透明度を 35% に設定して、文字が見えるようにします。スペースも文字と見なされます。
package {
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.text.TextField;
import flash.geom.Rectangle;
import flash.events.MouseEvent;
import flash.text.TextFieldAutoSize;
import flash.display.Shape;
public class TextField_getCharBoundariesExample extends Sprite
{
private var myTextField:TextField = new TextField();
private var spotlight:Shape = new Shape();
public function TextField_getCharBoundariesExample() {
myTextField.x = 10;
myTextField.y = 10;
myTextField.border = true;
myTextField.selectable = false;
myTextField.autoSize = TextFieldAutoSize.LEFT;
myTextField.text = "Selected a character from this text by clicking on it."
myTextField.addEventListener(MouseEvent.CLICK, clickHandler);
this.addChild(myTextField);
this.addChild(spotlight);
}
private function clickHandler (e:MouseEvent):void {
var index:int = myTextField.getCharIndexAtPoint(e.localX, e.localY);
if (index != -1) {
var frame:Rectangle = myTextField.getCharBoundaries(index);
spotlight.graphics.clear();
spotlight.graphics.beginFill(0xFFFF00, .35);
spotlight.graphics.drawRect((frame.x + 10), (frame.y + 10), frame.width, frame.height);
spotlight.graphics.endFill();
}
}
}
}
| getCharIndexAtPoint | () | メソッド |
public function getCharIndexAtPoint(x:Number, y:Number):int
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
x および y パラメータで指定されたポイントにある文字の 0 から始まるインデックス値を返します。
パラメータ
x:Number — 文字の x 座標です。
|
|
y:Number — 文字の y 座標です。
|
int — 0 から始まる文字のインデックス値です。たとえば、最初の位置は 0、次の位置は 1 と続きます (以下同様)。その位置に文字がない場合は -1 を返します。
|
最初のテキストフィールドは、ユーザーが選択するテキストを保持します。テキストがクリックされたが、選択されていないことを確認するために、selectable プロパティを false に設定します。ユーザーが firstTextField テキストフィールドをクリックすると、clickHandler() メソッドが呼び出されます。
clickHandler() メソッドで、getCharIndexAtPoint() メソッドが文字のインデックスを返します。このインデックスは、マウスクリックの localX と localY 座標に基づいています。テキストフィールドがテキストより大きい場合があるので、返される整数 (index) がチェックされ、ユーザーが文字をクリックしたかどうかが確認されます。ポイント (マウスクリック) された箇所に文字がない場合、getCharIndexAtPoint() メソッドは -1 を返します。エコーされた文字が表示される新しいテキストフィールドの座標を設定するために、マウスの座標が使用されます。2 番目のテキストフィールドの文字の色は赤に設定されます。最後に、2 番目のフィールドのテキストが、charAt() メソッドを使用して取得された、選択した文字に設定されます。text プロパティを使用し、appendText() メソッドを使用しない場合、2 番目のテキストフィールドの文字は追加されずに上書きされます。
package {
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.text.TextField;
import flash.geom.Rectangle;
import flash.events.MouseEvent;
import flash.text.TextFieldAutoSize;
public class TextField_getCharIndexAtPointExample extends Sprite {
private var firstTextField:TextField = new TextField();
private var secondTextField:TextField = new TextField();
public function TextField_getCharIndexAtPointExample() {
firstTextField.x = 100;
firstTextField.y = 100;
firstTextField.width = 260;
firstTextField.height = 20;
firstTextField.border = true;
firstTextField.background = true;
firstTextField.selectable = false;
firstTextField.text = "Selected a character from this text by clicking on it."
firstTextField.addEventListener(MouseEvent.CLICK, clickHandler);
this.addChild(firstTextField);
this.addChild(secondTextField);
}
private function clickHandler (e:MouseEvent):void {
var index:int = firstTextField.getCharIndexAtPoint(e.localX, e.localY);
if (index != -1) {
secondTextField.x = mouseX;
secondTextField.y = 70;
secondTextField.border = true;
secondTextField.selectable = false;
secondTextField.background = true;
secondTextField.textColor = 0xFF0000;
secondTextField.autoSize = TextFieldAutoSize.LEFT;
secondTextField.text = firstTextField.text.charAt(index);
}
}
}
}
| getFirstCharInParagraph | () | メソッド |
public function getFirstCharInParagraph(charIndex:int):int
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
文字インデックスを指定すると、同じ段落内の最初の文字のインデックスを返します。
パラメータ
charIndex:int — 0 から始まる文字のインデックス値です。たとえば、最初の文字は 0、次の文字は 1 と続きます (以下同様)。
|
int — 同じ段落内の最初の文字を示す 0 から始まるインデックス値です。
|
RangeError — 指定された文字インデックスは範囲外です。
|
コンストラクタで、myTextField テキストフィールドがテキストを折り返すように設定されます。getTextFormat メソッドが、テキストフィールドにあるコンテンツの最初の文字の元のフォーマットを返します。このフォーマットは、originalFormat TextFormat オブジェクトに設定されています。また、新しい TextFormat オブジェクト (newFormat) が定義され、その align プロパティが右揃えに割り当てられます。ユーザーがテキストフィールドをクリックすると、clickHandler() メソッドが呼び出されます。
clickHandler() メソッドで、getCharIndexAtPoint() メソッドが文字のインデックスを返します。このインデックスは、マウスクリックの localX と localY 座標に基づいています。最初の if ステートメントは、ユーザーが文字をクリックしたかどうかを確認します。clickIndex 整数 (getCharIndexAtPoint() メソッドによって返された) を使用して、getFirstCharInParagraph() メソッドが、ユーザーがクリックした段落の最初の文字のインデックスを返します。段落の最後の文字のインデックスは、段落の長さを段落の最初の文字のインデックスに追加し (getParagraphLength() メソッドを使用)、最後の文字 (\n) を引いて算出されます。2 番目の if ステートメントは、段落の最初の文字のフォーマットをチェックします。整列値が元のフォーマット (左揃え) と同じ場合、段落のすべての文字に新しいフォーマットが適用されます。それ以外の場合は、段落のフォーマットの設定が元のフォーマットに戻ります。整列とは、インデント、中黒、タブストップ、左右マージンなどのフォーマットと共に、段落に使用するフォーマットです。endIndex 引数が setTextFormat() メソッドで定義されていない場合、テキストの折り返しまたは改行を使用すると、フォーマットは段落の最初の行にのみ適用されます。
package {
import flash.display.Sprite;
import flash.text.TextField;
import flash.events.MouseEvent;
import flash.text.TextFormat;
import flash.text.TextFormatAlign;
public class TextField_getFirstCharInParagraphExample extends Sprite
{
private var myTextField:TextField = new TextField();
private var originalFormat:TextFormat = new TextFormat();
private var newFormat:TextFormat = new TextFormat();
public function TextField_getFirstCharInParagraphExample() {
myTextField.x = 10;
myTextField.y = 10;
myTextField.border = true;
myTextField.wordWrap = true;
myTextField.width = 300;
myTextField.height = 300;
myTextField.background = true;
myTextField.appendText("The TextField class is used to create display objects for "
+ "text display and input. All dynamic and input text fields in a SWF file "
+ "are instances of the TextField class. You can use the TextField class "
+ "to perform low-level text rendering. However, in Flex, you typically use "
+ "the Label, Text, TextArea, and TextInput controls to process text. "
+ "You can give a text field an instance name in the Property inspector "
+ "and use the methods and properties of the TextField class to manipulate it with ActionScript. "
+ "TextField instance names are displayed in the Movie Explorer and in the Insert "
+ "Target Path dialog box in the Actions panel.\n\n"
+ "To create a text field dynamically, use the TextField constructor.\n\n"
+ "The methods of the TextField class let you set, select, and manipulate "
+ "text in a dynamic or input text field that you create during authoring or at runtime.\n\n");
originalFormat = myTextField.getTextFormat(0);
newFormat.align = TextFormatAlign.RIGHT;
myTextField.addEventListener(MouseEvent.CLICK, clickHandler);
this.addChild(myTextField);
}
private function clickHandler(e:MouseEvent):void {
var clickIndex:int = myTextField.getCharIndexAtPoint(e.localX, e.localY);
if(clickIndex != -1) {
var paragraphFirstIndex:int = myTextField.getFirstCharInParagraph(clickIndex);
var paragraphEndIndex:int = paragraphFirstIndex + ((myTextField.getParagraphLength(clickIndex) - 1));
if (myTextField.getTextFormat(paragraphFirstIndex).align == originalFormat.align) {
myTextField.setTextFormat(newFormat, paragraphFirstIndex, paragraphEndIndex);
}else {
myTextField.setTextFormat(originalFormat, paragraphFirstIndex, paragraphEndIndex);
}
}
}
}
}
| getImageReference | () | メソッド |
public function getImageReference(id:String):DisplayObject
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
示された id の DisplayObject 参照を返します。<img> タグを使用して HTML フォーマットのテキストフィールドに追加されたイメージまたは SWF ファイルに関するものです。<img> タグは次の書式をとります。
<img src = 'filename.jpg' id = 'instanceName' >
パラメータ
id:String — (<img> タグの id 属性内にある) 一致する id です。
|
DisplayObject — 一致する id 属性をテキストフィールドの <img> タグ内に持つイメージまたは SWF ファイルに対応する表示オブジェクトです。外部ソースからロードされたメディアの場合、このオブジェクトは Loader オブジェクトであり、いったんロードされると、メディアオブジェクトはその Loader オブジェクトの子になります。SWF ファイルに埋め込まれたメディアの場合、これはロードされたオブジェクトです。一致する id が <img> タグの中に含まれない場合、このメソッドは null を返します。
|
関連項目
イメージ (image.jpg) は HTML を使用して組み込まれます。ここでは、イメージファイルが SWF ファイルと同じディレクトリにあると仮定します。id 属性を img タグに対して定義する必要があります。これは、getImageReference() メソッドを使用してイメージにアクセスするためです。htmlText プロパティが HTML フォーマットのストリングコンテンツを組み込むために使用されます。ユーザーが myTextField テキストフィールドをクリックすると、clickHandler() メソッドが呼び出されます。
clickHandler() メソッドで、getImageReference() メソッドがイメージへの参照を DisplayObject として返します。この参照は、任意の DisplayObject オブジェクトと同じように、イメージを操作するために使用できます。ここでは、alpha (透明度) と rotation プロパティが設定されます。表示オブジェクトのマトリックス、カラー変換、ピクセル境界にアクセスするために、transform プロパティも使用できます。また、flash.display.DisplayObject をインポートする必要があります。
package {
import flash.display.Sprite;
import flash.text.TextField;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.display.DisplayObject;
import flash.text.TextFieldAutoSize;
public class TextField_getImageReferenceExample extends Sprite
{
private var myTextField:TextField = new TextField();
public function TextField_getImageReferenceExample()
{
var myText1:String = "<p>Here is an image we want to mainpulate: <img src='image.jpg' id='testimage'></p>";
myTextField.x = 10;
myTextField.y = 10;
myTextField.width = 250;
myTextField.height = 250;
myTextField.background = true;
myTextField.border = true;
myTextField.border = true;
myTextField.multiline = true;
myTextField.htmlText = myText1;
myTextField.addEventListener(MouseEvent.CLICK, clickHandler);
this.addChild(myTextField);
}
private function clickHandler(e:MouseEvent):void {
var imageRef:DisplayObject = myTextField.getImageReference("testimage");
imageRef.rotation += 90;
imageRef.x = 125;
imageRef.y = 125;
imageRef.alpha = 0.25;
}
}
}
| getLineIndexAtPoint | () | メソッド |
public function getLineIndexAtPoint(x:Number, y:Number):int
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
x および y パラメータで指定されたポイントにある行の 0 から始まるインデックス値を返します。
パラメータ
x:Number — 行の x 座標です。
|
|
y:Number — 行の y 座標です。
|
int — 0 から始まる行のインデックス値です。たとえば、最初の行は 0、次の行は 1 と続きます (以下同様)。その位置に行がない場合は -1 を返します。
|
コンストラクタで、poem テキストフィールドが折り返されないように設定されます (このテキストが詩であるため)。また、autoSize プロパティを使用して、テキストが収まるように自動的に設定され、左揃えテキストとしてサイズが変更されます。poemCopy テキストフィールドが poem テキストフィールドの下に配置されます。ユーザーが詩のいずれかの行をクリックすると、clickHandler() メソッドが呼び出されます。
clickHandler() メソッドで、getLineIndexAtPoint() メソッドがユーザーによってクリックされた行のインデックスを返します。このインデックスは、マウスクリックの localX と localY 座標に基づいています。ここでは、元の詩がテキストフィールドのサイズに適合しているので、範囲外エラー (RangeError) をチェックする必要はありません (このエラーは、getCharIndexAtPoint() メソッドによってスローされます)。次に、行のインデックスを使用して、getLineText() メソッドで、ストリングとして行のコンテンツを取得します。このストリングは、poemCopy テキストフィールドのコンテンツに追加されます。コピーは連続して実行できますが、あるポイントを過ぎると、テキストが表示できる poemCopy テキストフィールドの範囲を超えます。
package {
import flash.display.Sprite;
import flash.text.TextField;
import flash.events.MouseEvent;
import flash.text.TextFormat;
import flash.text.TextFieldAutoSize;
public class TextField_getLineIndexAtPointExample extends Sprite {
private var poem:TextField = new TextField();
private var poemCopy:TextField = new TextField();
public function TextField_getLineIndexAtPointExample() {
poem.border = true;
poem.autoSize = TextFieldAutoSize.LEFT;
poem.x = 10;
poem.wordWrap = false;
poemCopy.height = 250;
poemCopy.width = 270;
poemCopy.y = 230;
poemCopy.x = 10;
poemCopy.background = true;
poemCopy.border = true;
poemCopy.wordWrap = false;
poem.appendText("Let me not to the marriage of true minds\n"
+ "Admit impediments. love is not love\n"
+ "Which alters when it alteration finds\n"
+ "Or bends with the remover to remove:\n"
+ "O no! it is an ever-fixed mark\n"
+ "That looks on tempests and is never shaken;\n"
+ "It is the star to every wandering bark,\n"
+ "Whose worth's unknown, although his height be taken.\n"
+ "Love's not Time's fool, though rosy lips and cheeks\n"
+ "Within his bending sickle's compass come:\n"
+ "Love alters not with his brief hours and weeks,\n"
+ "But bears it out even to the edge of doom.\n"
+ "If this be error and upon me proved,\n"
+ "I never writ, nor no man ever loved.");
poem.addEventListener(MouseEvent.CLICK, clickHandler);
this.addChild(poem);
this.addChild(poemCopy);
}
private function clickHandler(e:MouseEvent):void {
var index:int = poem.getLineIndexAtPoint(e.localX, e.localY);
var s:String;
s = poem.getLineText(index);
poemCopy.appendText(s + "\n");
}
}
}
| getLineIndexOfChar | () | メソッド |
public function getLineIndexOfChar(charIndex:int):int
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
charIndex パラメータで指定された文字を含む行の 0 から始まるインデックス値を返します。
パラメータ
charIndex:int — 0 から始まる文字のインデックス値です。たとえば、最初の文字は 0、次の文字は 1 と続きます (以下同様)。
|
int — 0 から始まる行のインデックス値です。
|
RangeError — 指定された文字インデックスは範囲外です。
|
getLineIndexOfChar() メソッドがテキストフィールド内の 100 文字目と 500 文字目に対応する行番号を返します。
myTextField テキストフィールドが、折り返しを行い、左揃えテキストとしてサイズが変更されるように定義されます。getLineIndexOfChar() メソッドが、指定された文字インデックス (100 と 500) に対する行のインデックスを返します。その後、この情報が段落の後に追加されます。行のインデックスは 0 から始まるので、行のインデックス (index) は 1 ずつ増加して、行番号を取得します。また、表示サイズが変更され、行番号が変更された場合でも、メソッドは一度しか呼び出されないので、ここでの情報は同じ状態が維持されます。
package {
import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
public class TextField_getLineIndexOfCharExample extends Sprite
{
public function TextField_getLineIndexOfCharExample()
{
var myTextField:TextField = new TextField();
myTextField.x = 10;
myTextField.y = 10;
myTextField.width = 200;
myTextField.background = true;
myTextField.border = true;
myTextField.wordWrap = true;
myTextField.autoSize = TextFieldAutoSize.LEFT;
myTextField.appendText("The TextField class is used to create display objects for "
+ "text display and input. All dynamic and input text fields in a SWF file"
+ "are instances of the TextField class. You can use the TextField class "
+ "to perform low-level text rendering. However, in Flex, you typically use "
+ "the Label, Text, TextArea, and TextInput controls to process text. "
+ "You can give a text field an instance name in the Property inspector "
+ "and use the methods and properties of the TextField class to manipulate it with ActionScript. "
+ "TextField instance names are displayed in the Movie Explorer and in the Insert "
+ "Target Path dialog box in the Actions panel.\n\n");
var index:int = myTextField.getLineIndexOfChar(100);
myTextField.appendText("100th character is in line: " + (index + 1) + "\n");
index = myTextField.getLineIndexOfChar(500);
myTextField.appendText("500th character is in line: " + (index + 1));
this.addChild(myTextField);
}
}
}
| getLineLength | () | メソッド |
public function getLineLength(lineIndex:int):int
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
特定のテキスト行内の文字数を返します。
パラメータ
lineIndex:int — 長さの情報が必要な行番号です。
|
int — 行内の文字数です。
|
RangeError — 指定した行番号は範囲外です。
|
例に示すように、カウントされたテキストを表示する myTextField テキストフィールドが INPUT に設定されます。この場合、ユーザーは、実際に行を変更したり、行の間または末尾に行を追加したりできます。最終行の末尾に、改行 (\n) を使用して作成された空白行があります。行の長さをカウントした結果が表示される countLines テキストフィールドが myTextField テキストフィールドの下に設定されます。このテキストは選択できません。ユーザーが myTextField テキストフィールド内のある行をクリックすると、clickHandler() メソッドが呼び出されます。
clickHandler() メソッドで、getLineIndexAtPoint() メソッドがユーザーによってクリックされた行のインデックスを返します。このインデックスは、マウスクリックの localX と localY 座標を使用します。if ステートメントは、ユーザーが文字をクリックしたかどうかを確認します。ユーザーが文字をクリックした場合は、getLineLength() メソッドが、行のインデックスを使用して行の文字数を返します。行間の空白行には 2 番目の改行 (\n) が含まれます。この行は、1 文字としてカウントされ、最終行の後の行は 0 文字としてカウントされます。スペースも 1 文字としてカウントされます。ユーザーは、新しい行を書き込むか行を変更し、その行をクリックして、行の文字数を取得できます。テキストの折り返しを使用し、画面のサイズを変更すると、行のインデックスが変更される場合があります。
package {
import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFieldType;
import flash.events.Event;
import flash.events.MouseEvent;
public class TextField_getLineLengthExample extends Sprite {
private var myTextField:TextField = new TextField();
private var countLines:TextField = new TextField();
public function TextField_getLineLengthExample() {
myTextField.x = 10;
myTextField.y = 10;
myTextField.width = 350;
myTextField.height = 150;
myTextField.background = true;
myTextField.border = true;
myTextField.type = TextFieldType.INPUT;
myTextField.appendText("Click on the lines to count its number of characters:\n\n");
myTextField.appendText("This is a short line.\n");
myTextField.appendText("This is a longer line than the last line.\n\n");
myTextField.appendText("This one is even longer than the one before. It has two sentences.\n");
this.addChild(myTextField);
countLines.border = true;
countLines.x = 10;
countLines.y = 180;
countLines.height = 30;
countLines.width = 200;
countLines.background = true;
countLines.selectable = false;
this.addChild(countLines);
myTextField.addEventListener(MouseEvent.CLICK, clickHandler);
}
private function clickHandler(e:MouseEvent):void {
var index:int = myTextField.getLineIndexAtPoint(e.localX, e.localY);
if (index != -1) {
var lenght:int = myTextField.getLineLength(index);
countLines.text = "Number of characters in the line is: " + lenght.toString();
}
}
}
}
| getLineMetrics | () | メソッド |
public function getLineMetrics(lineIndex:int):TextLineMetrics
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
指定されたテキスト行に関するメトリック情報を返します。
パラメータ
lineIndex:int — メトリック情報が必要な行番号です。
|
TextLineMetrics — TextLineMetrics オブジェクトです。
|
RangeError — 指定した行番号は範囲外です。
|
関連項目
追加されたテキストは、ウォルト・ホイットマンの Song of Myself から抜粋した 2 行です。新しい TextFormat オブジェクト (newFormat) を使用して、2 行目のフォーマットが設定されます。1 行目はデフォルトのフォーマットを保持します。getLineMetrics() メソッドが、特定の行の TextLineMetrics オブジェクトを返します。行のインデックスは 0 で始まります。metrics1 と metrics2 を使用して、1 行目と 2 行目の TextLineMetrics オブジェクトである、行のアセント、ディセント、高さ、および太さの値が取得され、表示されます。取得された数値はストリングに変換されますが、四捨五入されません。この値は行に対する値であり、特定の文字に対する値ではありません。ある行の文字の範囲を反映しています。たとえば、ある行に異なる高さのフォーマットを持つ異なる文字がある場合、値は最大の高さを持つ文字によって決まります。このことは、ある文字のフォーマットが変更された場合、メトリック値の一部が変更される場合があることも意味します。
package {
import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextLineMetrics;
import flash.text.TextFieldAutoSize;
import flash.text.AntiAliasType;
import flash.text.TextFormat;
public class TextField_getLineMetricsExample extends Sprite {
public function TextField_getLineMetricsExample() {
var myTextField:TextField = new TextField();
var newFormat:TextFormat = new TextFormat();
myTextField.x = 10;
myTextField.y = 10;
myTextField.background = true;
myTextField.wordWrap = false;
myTextField.autoSize = TextFieldAutoSize.LEFT;
myTextField.appendText("A child said What is the grass? fetching it to me with full hands;\n");
myTextField.appendText("How could I answer the child? I do not know what it is any more than he.\n\n");
newFormat.size = 14;
newFormat.font = "Arial";
newFormat.italic = true;
myTextField.setTextFormat(newFormat, 67, 139);
var metrics1:TextLineMetrics = myTextField.getLineMetrics(0);
myTextField.appendText("Metrics ascent for the line 1 is: " + metrics1.ascent.toString() + "\n");
myTextField.appendText("Metrics descent is: " + metrics1.descent.toString() + "\n");
myTextField.appendText("Metrics height is: " + metrics1.height.toString() + "\n");
myTextField.appendText("Metrics width is: " + metrics1.width.toString() + "\n\n");
var metrics2:TextLineMetrics = myTextField.getLineMetrics(1);
myTextField.appendText("Metrics ascent for the line 2 is: " + metrics2.ascent.toString() + "\n");
myTextField.appendText("Metrics descent is: " + metrics2.descent.toString() + "\n");
myTextField.appendText("Metrics height is: " + metrics2.height.toString() + "\n");
myTextField.appendText("Metrics width is: " + metrics2.width.toString() + "\n");
addChild(myTextField);
}
}
}
| getLineOffset | () | メソッド |
public function getLineOffset(lineIndex:int):int
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
lineIndex パラメータで指定された行の最初の文字の文字インデックスを返します。
パラメータ
lineIndex:int — 0 から始まる行のインデックス値です。たとえば、最初の行は 0、次の行は 1 と続きます (以下同様)。
|
int — 行の最初の文字を示す 0 から始まるインデックス値です。
|
RangeError — 指定した行番号は範囲外です。
|
myTextField テキストフィールドがテキストを折り返すように設定されます。countField テキストフィールドに 4 行目の最初の文字が表示されます。ユーザーが myTextField テキストフィールドをクリックすると、clickHandler() メソッドが呼び出されます。
clickHandler() メソッドで、getLineOffset() メソッドが、テキストの 4 行目である行インデックス 3 の最初の文字のインデックスを返します。1 行目のインデックスは 0 です。charAt() メソッドを使用して、4 行目の最初の文字のインデックスを使用する文字を取得します。countField テキストフィールドのコンテンツが text プロパティ (countField テキストフィールド) を使用して、この情報によって更新されます。つまり、countField.text プロパティを使用すると、クリックするたびに countField テキストフィールドのコンテンツが上書きされます。ユーザーが表示サイズを変更すると、コンテンツが折り返され、4 行目の最初の文字が変わる可能性があります。myTextField フィールドをもう一度クリックすることで、countField テキストフィールドのコンテンツが 4 行目の新しい最初の文字によって更新されます。
package {
import flash.display.Sprite;
import flash.text.TextField;
import flash.events.MouseEvent;
public class TextField_getLineOffsetExample extends Sprite {
private var myTextField:TextField = new TextField();
private var countField:TextField = new TextField();
public function TextField_getLineOffsetExample() {
myTextField.x = 10;
myTextField.y = 10;
myTextField.width = 150;
myTextField.height = 300;
myTextField.background = true;
myTextField.border = true;
myTextField.wordWrap = true;
countField.height = 20;
countField.width = 200;
countField.x = 10;
countField.y = 320;
countField.selectable = false;
myTextField.appendText("The TextField class is used to create display objects for "
+ "text display and input. All dynamic and input text fields in a SWF file "
+ "are instances of the TextField class. You can use the TextField class "
+ "to perform low-level text rendering. However, in Flex, you typically use "
+ "the Label, Text, TextArea, and TextInput controls to process text. "
+ "You can give a text field an instance name in the Property inspector "
+ "and use the methods and properties of the TextField class to manipulate it with ActionScript.");
myTextField.addEventListener(MouseEvent.CLICK, clickHandler);
this.addChild(myTextField);
this.addChild(countField);
}
private function clickHandler(e:MouseEvent):void {
var c:String;
var index:int;
index = myTextField.getLineOffset(3);
c = myTextField.text.charAt(index);
countField.text = "The first character of line 4 is: " + c;
}
}
}
| getLineText | () | メソッド |
public function getLineText(lineIndex:int):String
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
lineIndex パラメータで指定された行のテキストを返します。
パラメータ
lineIndex:int — 0 から始まる行のインデックス値です。たとえば、最初の行は 0、次の行は 1 と続きます (以下同様)。
|
String — 指定された行に含まれるテキストストリングです。
|
RangeError — 指定した行番号は範囲外です。
|
poem テキストフィールドが、テキストに合わせて自動的に設定され、サイズが左揃えテキストに合わせて変更されます。wordWrap プロパティが false に設定されているので、詩の行は折り返されません。ただし、通常 autoSize プロパティを使用する場合、折り返しは問題にはなりません。for ループが、テキストフィールドの numLines プロパティを使用してソネットの行の繰り返し処理を実行します。getLineText() メソッドが行のコンテンツをストリングとして返します。numLines プロパティが行 1 で始まる行番号を返します。ただし、getLineText() メソッドでは、行番号は 0 で始まります。正規表現パターン (/love/i) を使用すると、if ステートメントがこの単語の大文字または小文字のサブストリングを検索します。パターンが見つかると、search メソッドが最初に一致したサブストリングのインデックスを返し、それ以外の場合は -1 を返します (一致するものがない場合)。次に、"love" が見つかった行番号 ((i + 1)) が lineResult ストリングに配置されます。ストリング (" ") である他の引数がある場合にのみ、ストリングメソッドによって、数値の引数 ((i + 1)) がストリングに変換されます。検索によって得られた行には "loved" または "Love's" などの語句を持つ行が含まれています。ストリング "Love was found in lines:" が for ループの前に追加された場合、この行の単語 "Love" も含まれます。
package {
import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.utils.Timer;
import flash.events.TimerEvent;
public class TextField_getLineTextExample extends Sprite {
public function TextField_getLineTextExample() {
var poem:TextField = new TextField();
var lineResult:String = "";
var pattern:RegExp = /love/i;
poem.x = 10;
poem.y = 10;
poem.background = true;
poem.wordWrap = false;
poem.autoSize = TextFieldAutoSize.LEFT;
poem.text = "Let me not to the marriage of true minds\n"
+ "Admit impediments. love is not love\n"
+ "Which alters when it alteration finds\n"
+ "Or bends with the remover to remove:\n"
+ "O no! it is an ever-fixed mark\n"
+ "That looks on tempests and is never shaken;\n"
+ "It is the star to every wandering bark,\n"
+ "Whose worth's unknown, although his height be taken.\n"
+ "Love's not Time's fool, though rosy lips and cheeks\n"
+ "Within his bending sickle's compass come:\n"
+ "Love alters not with his brief hours and weeks,\n"
+ "But bears it out even to the edge of doom.\n"
+ "If this be error and upon me proved,\n"
+ "I never writ, nor no man ever loved.\n\n";
for (var i:int = 0; i < poem.numLines; i++) {
var s:String = poem.getLineText(i);
if(s.search(pattern) != -1) {
lineResult += (i + 1) + " ";
}
}
poem.appendText("Love was found in lines: " + lineResult);
this.addChild(poem);
}
}
}
| getParagraphLength | () | メソッド |
public function getParagraphLength(charIndex:int):int
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
文字インデックスを指定すると、指定された文字を含む段落の長さを返します。この長さは、渡された文字インデックスではなく、段落内の最初の文字に対応します。getFirstCharInParagraph() によって返される場合と同様です。
パラメータ
charIndex:int — 0 から始まる文字のインデックス値です。たとえば、最初の文字は 0、次の文字は 1 と続きます (以下同様)。
|
int — 段落内の文字数を返します。
|
RangeError — 指定された文字インデックスは範囲外です。
|
関連項目
myTextField テキストフィールドに、ユーザーが選択する段落が表示されます。ユーザーがテキストフィールドをクリックすると、MouseEvent.CLICK イベントが送出され、clickHandler() メソッドが呼び出されます。段落の長さと文字 "s" の数が countField テキストフィールドに表示され、myTextField テキストフィールドの下に配置されます。
clickHandler() メソッドで、getCharIndexAtPoint() メソッドが文字のインデックスを返します。このインデックスは、マウスクリックの localX と localY 座標に基づいています。最初の if ステートメントは、ユーザーが文字をクリックしたかどうかを確認します。getFirstCharInParagraph() メソッドが、このインデックスを使用して、同じ段落内の最初の文字のインデックスを返します。getParagraphLength() メソッドによって返された段落の長さが段落内の最初の文字のインデックスで使用され、段落の末尾のインデックスが算出されます。for ループが段落の繰り返し処理を実行して、文字 "s" の数を探します。
package {
import flash.display.Sprite;
import flash.text.TextField;
import flash.events.MouseEvent;
public class TextField_getParagraphLengthExample extends Sprite {
private var myTextField:TextField = new TextField();
private var countField:TextField = new TextField();
public function TextField_getParagraphLengthExample() {
myTextField.x = 10;
myTextField.y = 10;
myTextField.background = true;
myTextField.border = true;
myTextField.wordWrap = true;
myTextField.width = 300;
myTextField.height = 280;
myTextField.appendText("The TextField class is used to create display objects for "
+ "text display and input. All dynamic and input text fields in a SWF file"
+ "are instances of the TextField class. You can use the TextField class "
+ "to perform low-level text rendering. However, in Flex, you typically use "
+ "the Label, Text, TextArea, and TextInput controls to process text. "
+ "You can give a text field an instance name in the Property inspector "
+ "and use the methods and properties of the TextField class to manipulate it with ActionScript. "
+ "TextField instance names are displayed in the Movie Explorer and in the Insert "
+ "Target Path dialog box in the Actions panel.\n\n"
+ "To create a text field dynamically, use the TextField() constructor.\n\n"
+ "The methods of the TextField class let you set, select, and manipulate "
+ "text in a dynamic or input text field that you create during authoring or at runtime.");
myTextField.addEventListener(MouseEvent.CLICK, clickHandler);
countField.x = 10;
countField.y = 300;
countField.height = 50;
countField.width = 250;
countField.background = true;
countField.selectable = false;
this.addChild(myTextField);
this.addChild(countField);
}
private function clickHandler(e:MouseEvent):void {
var index:int = myTextField.getCharIndexAtPoint(e.localX, e.localY);
if(index != -1) {
var beginParag:int = myTextField.getFirstCharInParagraph(index);
var paragLength:int = myTextField.getParagraphLength(index);
var endParag:int = beginParag + paragLength;
var sCount:uint = 0;
for (var i:int = beginParag; i <= endParag; i++) {
if ((myTextField.text.charAt(i) == "s") || (myTextField.text.charAt(i) == "S")) {
sCount++;
}
countField.text = "Paragraph length is: " + paragLength.toString() + "\n"
+ "Number of 's' characters in the paragraph: " + sCount.toString();
}
}
}
}
}
| getTextFormat | () | メソッド |
public function getTextFormat(beginIndex:int = -1, endIndex:int = -1):TextFormat
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
beginIndex および endIndex パラメータで指定された範囲のテキストのフォーマット情報を含む TextFormat オブジェクトを返します。指定されたテキスト全体に共通するプロパティのみが、結果の TextFormat オブジェクトに設定されます。混在型のプロパティ (テキストに複数の異なる値が混在する場合) は、その値が null に設定されます。
これらのパラメータに値を指定しない場合、このメソッドはテキストフィールド内のすべてのテキストに適用されます。
次の表に、使用できる 3 つのシンタックスを示します。
| シンタックス | 概要 |
|---|---|
my_textField.getTextFormat() | テキストフィールド内すべてのテキストに関するフォーマット情報を含む TextFormat オブジェクトを返します。テキストフィールド内のすべてのテキストに共通するプロパティのみが結果の TextFormat オブジェクトに設定されます。混在型のプロパティ (テキストに複数の異なる値が混在する場合) は、その値が null に設定されます。 |
my_textField.getTextFormat(beginIndex:Number) | beginIndex の位置の文字のテキストフォーマットのコピーを含む TextFormat オブジェクトを返します。 |
my_textField.getTextFormat(beginIndex:Number,endIndex:Number) | beginIndex から endIndex-1 までの範囲のテキストに関するフォーマット情報を含む TextFormat オブジェクトを返します。指定された範囲内のすべてのテキストに共通するプロパティのみが結果の TextFormat オブジェクトに設定されます。混在型のプロパティ (範囲内に複数の異なる値が混在する場合) は、その値が null に設定されます。 |
パラメータ
beginIndex:int (default = -1) — オプション。テキストフィールド内のテキスト範囲の開始位置を指定する整数です。
|
|
endIndex:int (default = -1) — オプション : 該当するテキスト範囲の直後の文字の位置を指定する整数。意図したとおり、beginIndex と endIndex の値を指定すると、beginIndex から endIndex-1 までのテキストが読み込まれます。
|
TextFormat — 指定されたテキストのフォーマットプロパティを表す TextFormat オブジェクトです。
|
RangeError — 指定された beginIndex または endIndex は範囲外です。
|
関連項目
getTextFormat() メソッドの使用方法を確認してください。
| replaceSelectedText | () | メソッド |
public function replaceSelectedText(value:String):void
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
現在の選択内容を value パラメータの内容に置き換えます。テキストは、現在のデフォルトの文字フォーマットとデフォルトの段落フォーマットを使用して、現在の選択内容の位置に挿入されます。テキストは HTML として扱われません。
replaceSelectedText() メソッドを使用すると、他の部分のテキストの文字フォーマットおよび段落フォーマットを損なわずにテキストを挿入および削除できます。
メモ : このメソッドは、テキストフィールドにスタイルシートが適用されていると機能しません。
パラメータ
value:String — 現在選択されているテキストを置き換えるストリングです。
|
Error — このメソッドは、スタイルシートを使用するテキストフィールドに対しては使用できません。
|
関連項目
2 つの異なる TextField オブジェクトが作成され、MouseEvent.MOUSE_UP イベントにイベントリスナーが追加されます。ユーザーがマウスを離すとマウスアップイベントが発生します。通常、このイベントはテキストを選択した後に発生します。選択するテキストの設定は、テキストフィールドのデフォルト設定です。
mouseHandler1() メソッドで、ユーザーが myTextField1 テキストフィールド内でマウスを離すと、テキストが消去され、空のストリングに置き換えられます。この操作は、すべてのテキストが消去されるまで続行できます。mouseHandler2() メソッドで、ユーザーが myTextField2 テキストフィールド内のテキストの一部を選択すると、selectionBeginIndex および selectionEndIndex プロパティによって、文字が選択されているかどうかがチェックされます。テキストの一部が選択されている場合、selectionBeginIndex および selectionEndIndex プロパティには、同じ値が設定されません。選択したテキストが "NEW TEXT" ストリングに置き換えられます。この操作は、2 番目のテキストフィールドのすべての元のテキストが "NEW TEXT" ストリングに置き換えられるまで続行できます。
package {
import flash.display.Sprite;
import flash.text.TextField;
import flash.events.MouseEvent;
public class TextField_replaceSelectedTextExample extends Sprite {
private var myTextField1:TextField = new TextField();
private var myTextField2:TextField = new TextField();
public function TextField_replaceSelectedTextExample() {
myTextField1.x = 10;
myTextField1.width = 300;
myTextField1.height = 50;
myTextField1.background = true;
myTextField1.border = true;
myTextField1.text = "Select the text you want to remove from the line.";
myTextField2.x = 10;
myTextField2.y = 60;
myTextField2.width = 300;
myTextField2.height = 50;
myTextField2.background = true;
myTextField2.border = true;
myTextField2.text = "Select the text you want to replace with NEW TEXT.";
myTextField1.addEventListener(MouseEvent.MOUSE_UP, mouseHandler1);
myTextField2.addEventListener(MouseEvent.MOUSE_UP, mouseHandler2);
this.addChild(myTextField1);
this.addChild(myTextField2);
}
private function mouseHandler1(e:MouseEvent):void {
myTextField1.replaceSelectedText("");
}
private function mouseHandler2(e:MouseEvent):void {
if(myTextField2.selectionBeginIndex != myTextField2.selectionEndIndex) {
myTextField2.replaceSelectedText("NEW TEXT");
}
}
}
}
| replaceText | () | メソッド |
public function replaceText(beginIndex:int, endIndex:int, newText:String):void
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
beginIndex パラメータと endIndex パラメータで指定された文字範囲を、newText パラメータの内容に置き換えます。意図したとおり、beginIndex から endIndex-1 までのテキストが置き換えられます。
メモ : このメソッドは、テキストフィールドにスタイルシートが適用されていると機能しません。
パラメータ
beginIndex:int — 置換範囲の開始位置の 0 から始まるインデックス値です。
|
|
endIndex:int — 該当するテキスト範囲の直後の文字の 0 から始まるインデックス位置です。
|
|
newText:String — 指定された文字範囲の置き換えに使用されるテキストです。
|
Error — このメソッドは、スタイルシートを使用するテキストフィールドに対しては使用できません。
|
replaceText() メソッドを使用して、テキストの一部を削除し、置換えて、テキストフィールドに挿入します。
outputText テキストフィールドが、テキストに合わせて自動的に設定され、サイズが左揃えテキストに合わせて変更されます。最初の replaceText() メソッドの呼び出しで、1 行目 ("This is the wrong heading") が "THIS IS THE HEADING FOR EVERYONE" に置き換えられます。2 度目のメソッドの呼び出しで、テキスト "CORRECT" が "THE" と "HEADING" の間に挿入されます。3 度目のメソッドの呼び出しで、語句 "FOR EVERYONE" が削除されます。appendText() の呼び出しごとに、現在のテキストの開始インデックスと終了インデックスが変更されます。ここでは、最後のテキスト (変更が行われた後) だけが表示されます。
package {
import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
public class TextField_replaceTextExample extends Sprite {
public function TextField_replaceTextExample() {
var outputText:TextField = new TextField();
outputText.x = 10;
outputText.y = 10;
outputText.background = true;
outputText.autoSize = TextFieldAutoSize.LEFT;
outputText.appendText("This is the wrong heading");
outputText.appendText("\n\n");
outputText.appendText("This is the body of the text.");
outputText.replaceText(0, 25, "THIS IS THE HEADING FOR EVERYONE");
outputText.replaceText(12, 12, "CORRECT ");
outputText.replaceText(27, 40, "");
this.addChild(outputText);
}
}
}
| setSelection | () | メソッド |
public function setSelection(beginIndex:int, endIndex:int):void
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
最初の文字と最後の文字のインデックス値によって指定されたテキストを選択済みに設定します。最初の文字と最後の文字のインデックス値は、beginIndex および endIndex パラメータを使用して指定されます。2 つのパラメータ値が同じ場合は、caretIndex プロパティを設定した場合と同様に、このメソッドは挿入ポイントを設定します。
パラメータ
beginIndex:int — 選択範囲の先頭の文字の 0 から始まるインデックス値です。たとえば、最初の文字が 0 で、次の文字が 1 と続きます (以下同様)。
|
|
endIndex:int — 選択範囲の最後の文字を示す 0 から始まるインデックス値です。
|
関連項目
myTextField テキストフィールドの 2 つのイベントリスナーが、ユーザーのマウスクリックまたはマウスアップイベントに応答します。ユーザーがマウスを離すとマウスアップイベントが発生します。通常、このイベントはテキストを選択した後に発生します。選択するテキストの設定は、テキストフィールドのデフォルト設定です。テキストの一部をクリックすると、clickHandler() メソッドが呼び出されます。テキストの一部を選択して、マウスを離すと、mouseUpHandler() メソッドが呼び出されます。
clickHandler() メソッドと mouseUpHandler() メソッドの両方で、setSelection() メソッドがインデックス 54 と 70 の間の文字 (TEXT IN ALL CAPS) だけを選択するように設定します。
package {
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
public class TextField_setSelectionExample extends Sprite
{
private var myTextField:TextField = new TextField();
public function TextField_setSelectionExample() {
myTextField.autoSize = TextFieldAutoSize.LEFT;
myTextField.text = "No matter where you click on this text field only the TEXT IN ALL CAPS is selected.";
myTextField.addEventListener(MouseEvent.CLICK, clickHandler);
myTextField.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
this.addChild(myTextField);
}
private function clickHandler(event:MouseEvent):void {
myTextField.setSelection(54, 70);
}
private function mouseUpHandler(event:MouseEvent):void {
myTextField.setSelection(54, 70);
}
}
}
| setTextFormat | () | メソッド |
public function setTextFormat(format:TextFormat, beginIndex:int = -1, endIndex:int = -1):void
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
format パラメータで指定したテキストフォーマットを、テキストフィールド内の指定されたテキストに適用します。format の値は、必要なテキストフォーマットの変更を指定する TextFormat オブジェクトである必要があります。format の null 以外のプロパティのみが、テキストフィールドに適用されます。format で null に設定されているプロパティは適用されません。デフォルトで、新しく作成された TextFormat オブジェクトのプロパティはすべて null に設定されます。
メモ : このメソッドは、テキストフィールドにスタイルシートが適用されていると機能しません。
setTextFormat() メソッドは、テキストフィールドの文字の範囲またはテキスト全体に適用するテキストフォーマットを変更します。フォーマットのプロパティをテキストフィールド内のすべてのテキストに適用するには、beginIndex および endIndex に値を指定しないでください。フォーマットのプロパティをテキストの範囲に適用するには、beginIndex および endIndex パラメータに値を指定します。length プロパティを使用して、インデックス値を指定できます。
TextFormat オブジェクトのフォーマット情報には、文字レベルフォーマットと段落レベルフォーマットの 2 種類があります。テキストフィールド内の各文字にも、フォント名やフォントサイズ、ボールド、イタリックなどの文字固有のフォーマット設定があります。
段落の場合は、段落の最初の文字を調べて段落全体のフォーマット設定を判別します。段落のフォーマット設定には、左マージン、右マージン、インデントなどがあります。
ユーザーによって手作業で挿入されたテキスト、または replaceSelectedText() メソッドを使用して置き換えられたテキストは、テキストの挿入か所に指定されているフォーマットではなく、新しいテキスト用のテキストフィールドのデフォルトフォーマットが適用されます。新しいテキスト用のテキストフィールドのデフォルトフォーマットを設定するには、defaultTextFormat を使用します。
パラメータ
format:TextFormat — 文字と段落のフォーマット情報を含む TextFormat オブジェクトです。
|
|||||||||
beginIndex:int (default = -1) — オプション : 該当するテキスト範囲の直後の文字を指定して、ゼロから始まるインデックス位置を指定する整数。
|
|||||||||
endIndex:int (default = -1) — オプション : 該当するテキスト範囲の直後の文字を指定する整数。意図したとおり、beginIndex と endIndex の値を指定すると、beginIndex から endIndex-1 までのテキストが更新されます。
ユーザーによって手作業で挿入されたテキスト、または |
Error — このメソッドは、スタイルシートを使用するテキストフィールドに対しては使用できません。
|
|
RangeError — 指定された beginIndex または endIndex は範囲外です。
|
関連項目
myTextField テキストフィールドのイベントリスナーが追加され、clickHandler() メソッドを呼び出して、マウスクリックに応答します。clickHandler() メソッドで、getTextFormat() メソッドが所定の文字範囲から文字 (インデックス 55) の現在のフォーマットを返し、currentTextFormat TextFormat オブジェクトに設定します。if ステートメントが currentTextFormat テキストフォーマットをチェックして、範囲内の文字に新しいフォーマット (フォントポイントが 18 に設定されます) が適用されているかどうかを確認します。適用されていない場合、新しいフォーマットによって、サイズが 18 ポイント、色が赤に変更されます。また、54 ~ 70 のテキスト範囲 (TEXT IN ALL CAPS) に下線が引かれ、イタリックの書体が適用されます。範囲内の文字に新しいフォーマットが適用されている場合、範囲のフォーマットの設定がテキストフィールドのデフォルト (元の) フォーマットに戻ります。
package {
import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFormat;
import flash.text.TextFieldAutoSize;
import flash.events.MouseEvent;
public class TextField_setTextFormatExample extends Sprite {
private var myTextField:TextField = new TextField();
private var newFormat:TextFormat = new TextFormat();
public function TextField_setTextFormatExample() {
myTextField.autoSize = TextFieldAutoSize.LEFT;
myTextField.selectable = false;
myTextField.background = true;
myTextField.text = "No matter where you click on this text field only the TEXT IN ALL CAPS changes format.";
myTextField.addEventListener(MouseEvent.CLICK, clickHandler);
newFormat.color = 0xFF0000;
newFormat.size = 18;
newFormat.underline = true;
newFormat.italic = true;
this.addChild(myTextField);
}
private function clickHandler(event:MouseEvent):void {
var currentTextFormat:TextFormat = myTextField.getTextFormat(55);
if(currentTextFormat.size != 18) {
myTextField.setTextFormat(newFormat, 54, 70);
}
else {
myTextField.setTextFormat(myTextField.defaultTextFormat);
}
}
}
}
| change | イベント |
flash.events.Event
flash.events.Event.CHANGE
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
コントロールの値が変更された後に実行されます。値が変更される前に送出される textInput イベントとは対照的です。コントロールがフォーカスを失った後でのみイベントを送出する change イベントの W3C DOM Event Model バージョンとは異なり、change イベントの ActionScript 3.0 バージョンはコントロールが変更されたときに送出されます。たとえば、ユーザーがテキストフィールドにテキストを入力すると、キーストロークのたびに change イベントが送出されます。
type プロパティ (change イベントオブジェクト) の値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
|---|---|
bubbles | true |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | 値が変更されたオブジェクトです。target は、必ずしもイベントリスナーを登録した表示リスト内のオブジェクトとは限りません。現在イベントを処理している表示リスト内のオブジェクトにアクセスするには、currentTarget プロパティを使用します。 |
2 つのテキストフィールドが作成され、1 つはユーザー入力用、もう 1 つ (headingTextField) はユーザー入力のコピー用です。また、TextFormat オブジェクトが作成され、headingTextField テキストフィールドのデフォルトのテキストフォーマットに割り当てられます。テキストフィールドのコンテンツが変わると、changeHandler() メソッドが呼び出され、inputTextField テキストフィールドのテキストが headingTextField テキストフィールドに割り当てられます。メソッドが TextEvent.TEXT_INPUT イベントで呼び出され、Event.CHANGE イベントで呼び出されなかった場合、ユーザーが入力したコンテンツは、ユーザーが別の入力を行った後でのみコピーされます。
package {
import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFieldType;
import flash.text.TextFormat;
import flash.text.TextFormatAlign;
import flash.events.Event;
import flash.events.TextEvent;
public class TextField_Event_changeExample extends Sprite {
private var inputTextField:TextField = new TextField();
private var headingTextField:TextField = new TextField();
private var newFormat:TextFormat = new TextFormat();
public function TextField_Event_changeExample() {
headingTextField.x = 10;
headingTextField.y = 10;
headingTextField.height = 30;
headingTextField.width = 400;
headingTextField.background = true;
headingTextField.backgroundColor = 0xF5F5DC;
headingTextField.selectable = false;
inputTextField.x = 10;
inputTextField.y = 70;
inputTextField.height = 20;
inputTextField.width = 230;
inputTextField.background = true;
inputTextField.border = true;
inputTextField.maxChars = 40;
inputTextField.wordWrap = true;
inputTextField.type = TextFieldType.INPUT;
inputTextField.addEventListener(Event.CHANGE, changeHandler);
newFormat.bold = true;
newFormat.size = 18;
newFormat.color = 0xFF0000;
newFormat.align = TextFormatAlign.CENTER;
headingTextField.defaultTextFormat = newFormat;
this.addChild(inputTextField);
this.addChild(headingTextField);
}
private function changeHandler(e:Event):void {
headingTextField.text = inputTextField.text;
}
}
}
| link | イベント |
flash.events.TextEvent
flash.events.TextEvent.LINK
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
HTML が有効になっているテキストフィールドで、URL が "event:" で始まるハイパーリンクをユーザーがクリックしたときに実行されます。"event:" の後の URL の残りの部分は、LINK イベントの text プロパティ内に配置されます。
メモ : デフォルトの動作であるテキストフィールドへのテキストの追加は、Flash Player がイベントを生成するときにのみ発生します。この場合は、ユーザーがテキストを入力しようとするときです。textInput イベントに送信することによってテキストフィールドにテキストを入力することはできません。
type プロパティ (link イベントオブジェクト) の値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
|---|---|
bubbles | true |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | クリックされたハイパーリンクを含むテキストフィールドです。target は、必ずしもイベントリスナーを登録した表示リスト内のオブジェクトとは限りません。現在イベントを処理している表示リスト内のオブジェクトにアクセスするには、currentTarget プロパティを使用します。 |
text | "event:" の後の URL の残りの部分は、 |
playMP3() 関数を定義します。list という TextField オブジェクト を作成し、HTML テキストを格納します。テキスト "Track 1" と "Track 2" は、テキストフィールド内のリンクです。playMP3() 関数は、ユーザーがどちらかのリンクをクリックしたときに呼び出されます。MP3 ファイルの名前は、HTML タグの href 属性で "event:" というストリングのうしろに付けられ、link イベントオブジェクトの text プロパティとして linkHandler() メソッドに渡されます。
package {
import flash.display.Sprite;
import flash.errors.IOError;
import flash.events.IOErrorEvent;
import flash.events.TextEvent;
import flash.media.Sound;
import flash.media.SoundChannel;
import flash.net.URLRequest;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
public class TextField_event_link extends Sprite
{
private var myMP3:Sound;
public function TextField_event_link() {
myMP3 = new Sound();
var list:TextField = new TextField();
list.autoSize = TextFieldAutoSize.LEFT;
list.multiline = true;
list.htmlText = "<a href=\"event:track1.mp3\">Track 1</a><br>";
list.htmlText += "<a href=\"event:track2.mp3\">Track 2</a><br>";
addEventListener(TextEvent.LINK, linkHandler);
addChild(list);
}
private function playMP3(mp3:String):void {
try {
myMP3.load(new URLRequest(mp3));
myMP3.play();
}
catch(err:Error) {
trace(err.message);
}
myMP3.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
}
private function linkHandler(linkEvent:TextEvent):void {
playMP3(linkEvent.text);
}
private function errorHandler(errorEvent:IOErrorEvent):void {
trace(errorEvent.text);
}
}
}
| scroll | イベント |
flash.events.Event
flash.events.Event.SCROLL
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
ユーザーがスクロールした後に、TextField オブジェクトによって送出されます。
type プロパティ (scroll イベントオブジェクト) の値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
|---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | スクロールされた TextField オブジェクトです。target は、必ずしもイベントリスナーを登録した表示リスト内のオブジェクトとは限りません。現在イベントを処理している表示リスト内のオブジェクトにアクセスするには、currentTarget プロパティを使用します。 |
| textInput | イベント |
flash.events.TextEvent
flash.events.TextEvent.TEXT_INPUT
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
Flash Player では、ユーザーがテキストの文字を入力したときに textInput イベントを送出します。標準キーボード、IME (入力メソッドエディタ)、音声認識システム、書式やスタイルの情報を持たないプレーンテキストのペースト操作など、さまざまなテキスト入力メソッドによって、このイベントが生成されます。
type プロパティ (textInput イベントオブジェクト) の値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
|---|---|
bubbles | true |
cancelable | true は、preventDefault() メソッドを呼び出して、デフォルトの動作をキャンセルします。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | 文字が入力されるテキストフィールドです。target は、必ずしもイベントリスナーを登録した表示リスト内のオブジェクトとは限りません。現在イベントを処理している表示リスト内のオブジェクトにアクセスするには、currentTarget プロパティを使用します。 |
text | ユーザーが入力した文字または文字の連続です。 |
TextFieldExample クラスを使用して、テキストメッセージを表示します。これを行うには、以下の手順を使用します。
label プロパティが作成されます。configureLabel() 関数を呼び出します。configureLabel() メソッドはまず、新しい TextField オブジェクトを作成し、これを label プロパティに割り当て、次に、そのパラメータを次のように設定します。
configureLabel() メソッドが format 変数を作成し、それを TextFormat の新しいインスタンスに割り当てます。次に、パラメータを次のように設定します。
defaultTextFormat プロパティ (label テキストフィールド) が format に設定され、label インスタンスが表示リストに追加されます。表示リストには、初期状態でステージ上にテキストがないテキストフィールドが表示されます。label テキストフィールドのテキストを "Hello world and welcome to the show." に設定します。これは、setLabel() メソッドを呼び出すことによって行われます。
package {
import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.text.TextFormat;
public class TextFieldExample extends Sprite {
private var label:TextField;
private var labelText:String = "Hello world and welcome to the show.";
public function TextFieldExample() {
configureLabel();
setLabel(labelText);
}
public function setLabel(str:String):void {
label.text = str;
}
private function configureLabel():void {
label = new TextField();
label.autoSize = TextFieldAutoSize.LEFT;
label.background = true;
label.border = true;
var format:TextFormat = new TextFormat();
format.font = "Verdana";
format.color = 0xFF0000;
format.size = 10;
format.underline = true;
label.defaultTextFormat = format;
addChild(label);
}
}
}
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート
現在のページ: http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/flash/text/TextField.html