パッケージ | flash.text |
クラス | public class TextField |
継承 | TextField InteractiveObject DisplayObject EventDispatcher Object |
サブクラス | FlexTextField |
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
テキストフィールドを動的に作成する場合は、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 タグのリストを参照してください。
関連する API エレメント
プロパティ | 定義元 | ||
---|---|---|---|
accessibilityImplementation : AccessibilityImplementation
この InteractiveObject インスタンスの現在のアクセシビリティの実装(AccessibilityImplementation)です。 | InteractiveObject | ||
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 | ||
blendShader : Shader [書き込み専用]
前景と背景のブレンドに使用するシェーダーを設定します。 | DisplayObject | ||
border : Boolean
テキストフィールドに境界線があるかどうかを指定します。 | TextField | ||
borderColor : uint
テキストフィールドの境界線の色です。 | TextField | ||
bottomScrollV : int [読み取り専用]
指定されたテキストフィールドに現在表示されている一番下の行を示す整数です(1 から始まるインデックス)。 | TextField | ||
cacheAsBitmap : Boolean
true に設定されている場合、表示オブジェクトの内部ビットマップ表現が Flash ランタイムにキャッシュされます。 | DisplayObject | ||
cacheAsBitmapMatrix : Matrix
null 以外の場合、この Matrix オブジェクトは、cacheAsBitmap を true に設定したときの表示オブジェクトのレンダリング方法を定義します。 | DisplayObject | ||
caretIndex : int [読み取り専用]
カーソル(キャレット)位置のインデックスです。 | TextField | ||
condenseWhite : Boolean
HTML テキストが含まれるテキストフィールド内の余分な空白(スペース、改行など)を削除するかどうかを指定するブール値です。 | TextField | ||
constructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクター関数への参照です。 | Object | ||
contextMenu : NativeMenu
このオブジェクトに関連付けられたコンテキストメニューを指定します。 | InteractiveObject | ||
defaultTextFormat : flash.text: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 [読み取り専用]
テキストフィールド内の文字数です。 | TextField | ||
loaderInfo : LoaderInfo [読み取り専用]
この表示オブジェクトが属するファイルの読み込み情報を含む LoaderInfo オブジェクトを返します。 | DisplayObject | ||
mask : DisplayObject
呼び出し元の表示オブジェクトは、指定された mask オブジェクトによってマスクされます。 | DisplayObject | ||
maxChars : int
ユーザーが入力するときに、テキストフィールドに入力できる最大の文字数です。 | TextField | ||
maxScrollH : int [読み取り専用]
scrollH の最大値です。 | TextField | ||
maxScrollV : int [読み取り専用]
scrollV の最大値です。 | TextField | ||
metaData : Object
メタデータが PlaceObject4 タグによってこの DisplayObject のインスタンスと一緒に SWF ファイル内に保存されている場合に、DisplayObject インスタンスのメタデータオブジェクトを取得します。 | DisplayObject | ||
mouseEnabled : Boolean
このオブジェクトでマウスまたはその他のユーザー入力メッセージを受け取るかどうかを指定します。 | InteractiveObject | ||
mouseWheelEnabled : Boolean
複数行にわたるテキストフィールドで、ユーザーがテキストフィールドをクリックしてホイールを回転させると、自動的にスクロールするかどうかを示すブール値です。 | TextField | ||
mouseX : Number [読み取り専用]
マウスまたはユーザー入力デバイスの x 軸の位置をピクセルで示します。 | DisplayObject | ||
mouseY : Number [読み取り専用]
マウスまたはユーザー入力デバイスの y 軸の位置をピクセルで示します。 | DisplayObject | ||
multiline : Boolean
フィールドが複数行テキストフィールドであるかどうかを示します。 | TextField | ||
name : String
DisplayObject のインスタンス名を示します。 | DisplayObject | ||
needsSoftKeyboard : Boolean
この InteractiveObject インスタンスがフォーカスを受け取ったときに、仮想キーボード(画面上のソフトキーボード)を表示するかどうかを指定します。 | InteractiveObject | ||
numLines : int [読み取り専用]
複数行テキストフィールド内のテキスト行の数を定義します。 | TextField | ||
opaqueBackground : Object
表示オブジェクトが特定の背景色で不透明であるかどうかを指定します。 | DisplayObject | ||
parent : DisplayObjectContainer [読み取り専用]
この表示オブジェクトを含む DisplayObjectContainer オブジェクトを示します。 | DisplayObject | ||
restrict : String
ユーザーがテキストフィールドに入力できる文字のセットを指定します。 | TextField | ||
root : DisplayObject [読み取り専用]
読み込まれた SWF ファイル内の表示オブジェクトの場合、root プロパティはその SWF ファイルが表す表示リストのツリー構造部分の一番上にある表示オブジェクトとなります。 | DisplayObject | ||
rotation : Number
DisplayObject インスタンスの元の位置からの回転角を度単位で示します。 | DisplayObject | ||
rotationX : Number
DisplayObject インスタンスの 3D 親コンテナを基準にした元の位置からの x 軸の回転角を度単位で示します。 | DisplayObject | ||
rotationY : Number
DisplayObject インスタンスの 3D 親コンテナを基準にした元の位置からの y 軸の回転角を度単位で示します。 | DisplayObject | ||
rotationZ : Number
DisplayObject インスタンスの 3D 親コンテナを基準にした元の位置からの z 軸の回転角を度単位で示します。 | DisplayObject | ||
scale9Grid : Rectangle
現在有効な拡大 / 縮小グリッドです。 | DisplayObject | ||
scaleX : Number
基準点から適用されるオブジェクトの水平スケール(パーセンテージ)を示します。 | DisplayObject | ||
scaleY : Number
オブジェクトの基準点から適用されるオブジェクトの垂直スケール(パーセンテージ)を示します。 | DisplayObject | ||
scaleZ : Number
オブジェクトの基準点から適用されるオブジェクトの奥行きスケール(パーセンテージ)を示します。 | DisplayObject | ||
scrollH : int
現在の水平スクロール位置です。 | TextField | ||
scrollRect : Rectangle
表示オブジェクトのスクロール矩形の境界です。 | DisplayObject | ||
scrollV : int
テキストフィールドのテキストの垂直位置です。 | TextField | ||
selectable : Boolean
テキストフィールドが選択可能であるかどうかを示すブール値です。 | TextField | ||
selectionBeginIndex : int [読み取り専用]
現在の選択範囲の最初の文字を示す、0 から始まるインデックス値です。 | TextField | ||
selectionEndIndex : int [読み取り専用]
現在の選択範囲における最後の文字を示す、0 から始まるインデックス値です。 | TextField | ||
sharpness : Number
このテキストフィールド内の文字エッジのシャープネスです。 | TextField | ||
softKeyboard : String
ソフトキーボードの外観を制御します。 | InteractiveObject | ||
softKeyboardInputAreaOfInterest : Rectangle
ソフトキーボードが表示されたときに画面に表示したままにする領域を定義します(iOS では使用不可)。 | InteractiveObject | ||
stage : Stage [読み取り専用]
表示オブジェクトのステージです。 | DisplayObject | ||
styleSheet : StyleSheet
テキストフィールドにスタイルシートを関連付けます。 | TextField | ||
tabEnabled : Boolean
このオブジェクトがタブ順序に含まれるかどうかを指定します。 | InteractiveObject | ||
tabIndex : int
SWF ファイル内のオブジェクトのタブ順序を指定します。 | InteractiveObject | ||
text : String
テキストフィールド内の現在のテキストであるストリングです。 | TextField | ||
textColor : uint
テキストフィールドのテキストの色です(16 進数形式)。 | TextField | ||
textHeight : Number [読み取り専用]
テキストの高さです(ピクセル単位)。 | TextField | ||
textInteractionMode : String [読み取り専用]
操作モードプロパティ。デフォルト値は TextInteractionMode.NORMAL です。 | TextField | ||
textWidth : Number [読み取り専用]
テキストの幅です(ピクセル単位)。 | TextField | ||
thickness : Number
このテキストフィールド内の文字エッジの太さです。 | TextField | ||
transform : flash.geom: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 | ||
z : Number
3D 親コンテナを基準にした、DisplayObject インスタンスの z 軸に沿った z 座標位置を示します。 | 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 | ||
指定された id の DisplayObject 参照を返します。<img> タグを使用して HTML フォーマットのテキストフィールドに追加されたイメージまたは SWF ファイルに関するものです。 | TextField | ||
x および y パラメーターで指定された点にある行の 0 から始まるインデックス値を返します。 | TextField | ||
charIndex パラメーターで指定された文字を含む行の 0 から始まるインデックス値を返します。 | TextField | ||
特定のテキスト行内の文字数を返します。 | TextField | ||
指定されたテキスト行に関するメトリック情報を返します。 | TextField | ||
lineIndex パラメーターで指定された行の最初の文字の文字インデックスを返します。 | TextField | ||
lineIndex パラメーターで指定された行のテキストを返します。 | TextField | ||
文字インデックスを指定すると、指定された文字を含む段落の長さを返します。 | TextField | ||
シェイプ上の線を除き、targetCoordinateSpace パラメーターによって定義された座標系に基づいて、表示オブジェクトの境界を定義する矩形を返します。 | DisplayObject | ||
beginIndex パラメーターと endIndex パラメーターで指定された範囲のテキストのフォーマット情報を含む TextFormat オブジェクトを返します。 | TextField | ||
point オブジェクトをステージ(グローバル)座標から表示オブジェクトの(ローカル)座標に変換します。 | DisplayObject | ||
ステージ(グローバル)座標の 2 次元のポイントを 3 次元の表示オブジェクトの(ローカル)座標に変換します。 | DisplayObject | ||
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。 | EventDispatcher | ||
オブジェクトに指定されたプロパティが定義されているかどうかを示します。 | Object | ||
表示オブジェクトの境界ボックスを評価して、obj 表示オブジェクトの境界ボックスと重複または交差するかどうかを調べます。 | DisplayObject | ||
表示オブジェクトを評価して、x および y パラメーターで指定されたポイントと重複または交差するかどうかを調べます。 | DisplayObject | ||
[静的]
Font.fontType が flash.text.FontType.EMBEDDED の場合に、指定された fontName および fontStyle で利用できる埋め込みフォントがある場合には、true を返します。 | TextField | ||
Object クラスのインスタンスが、パラメーターとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。 | Object | ||
3 次元の表示オブジェクトの(ローカル)座標の 3 次元のポイントをステージ(グローバル)座標の 2 次元のポイントに変換します。 | DisplayObject | ||
point オブジェクトを表示オブジェクトの(ローカル)座標からステージ(グローバル)座標に変換します。 | DisplayObject | ||
指定されたプロパティが存在し、列挙できるかどうかを示します。 | Object | ||
EventDispatcher オブジェクトからリスナーを削除します。 | EventDispatcher | ||
現在の選択内容を value パラメーターの内容に置き換えます。 | TextField | ||
beginIndex パラメーターと endIndex パラメーターで指定された文字範囲を、newText パラメーターの内容に置き換えます。 | TextField | ||
仮想キーボードを前面に表示します。 | InteractiveObject | ||
ループ処理に対するダイナミックプロパティの可用性を設定します。 | Object | ||
最初の文字と最後の文字のインデックス値によって指定されたテキストを選択済みに設定します。最初の文字と最後の文字のインデックス値は、beginIndex パラメーターおよび endIndex パラメーターを使用して指定されます。 | TextField | ||
format パラメーターで指定したテキストフォーマットを、テキストフィールド内の指定されたテキストに適用します。 | TextField | ||
ロケール固有の規則に従って書式設定された、このオブジェクトのストリング表現を返します。 | Object | ||
指定されたオブジェクトのストリング表現を返します。 | Object | ||
指定されたオブジェクトのプリミティブな値を返します。 | Object | ||
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。 | EventDispatcher |
イベント | 概要 | 定義元 | ||
---|---|---|---|---|
[ブロードキャストイベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを取得して、アクティブになったときに送出されます。 | EventDispatcher | |||
表示オブジェクトが表示リストに追加されたときに送出されます。 | DisplayObject | |||
表示オブジェクトが、直接、または表示オブジェクトを含むサブツリーの追加により、ステージ上の表示リストに追加されたときに送出されます。 | DisplayObject | |||
値が変更される前に送出される textInput イベントとは異なり、コントロールの値が変更された後に送出されます。 | TextField | |||
ユーザーがコンテキストメニューから「削除」を選択した場合に送信されます。 | InteractiveObject | |||
ユーザーが同じ InteractiveObject 上でポインティングデバイスのメインボタンを押して離すと送出されます。 | InteractiveObject | |||
AIR アプリケーションでこのインタラクティブオブジェクトに関連付けられているコンテキストメニューをユーザージェスチャがトリガーすると送出されます。 | InteractiveObject | |||
ユーザーがコピー操作のためにプラットフォーム固有のアクセラレーターキーの組み合わせをアクティブ化したとき、またはコンテキストメニューから「コピー」を選択した場合に送出されます。 | InteractiveObject | |||
ユーザーがカット操作のためにプラットフォーム固有のアクセラレーターキーの組み合わせをアクティブ化したとき、またはコンテキストメニューから「カット」を選択した場合に送出されます。 | InteractiveObject | |||
[ブロードキャストイベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを失って、非アクティブになったときに送出されます。 | EventDispatcher | |||
オブジェクトの doubleClickEnabled フラグが true に設定されている場合にユーザーが InteractiveObject をポインティングデバイスのメインボタンで 2 回続けてすばやくクリックすると送出されます。 | InteractiveObject | |||
[ブロードキャストイベント] 再生ヘッドが新しいフレームに入るときに送出されます。 | DisplayObject | |||
[ブロードキャストイベント] 再生ヘッドが現在のフレームを終了するときに送出されます。 | DisplayObject | |||
表示オブジェクトがフォーカスを取得した後に送出されます。 | InteractiveObject | |||
表示オブジェクトがフォーカスを失った後に送出されます。 | InteractiveObject | |||
[ブロードキャストイベント] フレーム表示オブジェクトのコンストラクターが実行した後で、かつフレームスクリプトが実行される前に送出されます。 | DisplayObject | |||
ユーザーが InteractiveObject インスタンスでタッチサーフェスの端に沿って接触点を作成したとき(例えば、Apple TV の Siri Remote でタッチサーフェスの端に沿ってタップしたときなど)に送出されます。デバイスによっては、この接触を複数のタッチイベントの組み合わせと解釈する可能性もあります。 | InteractiveObject | |||
タッチ対応デバイスで、ユーザーが同じ InteractiveObject インスタンス上の 2 つの接触位置を押したときに送出されます(例えば、タッチスクリーン搭載の携帯電話またはタブレットの表示オブジェクト上を、2 本の指で押したり離したりする場合など)。 | InteractiveObject | |||
タッチ対応デバイスで、ユーザーが InteractiveObject インスタンス上の接触位置でタッチポイントを移動したときに送出されます(例えば、タッチスクリーン搭載の携帯電話やタブレットの表示オブジェクト上で、指を左から右に動かす場合など)。 | InteractiveObject | |||
InteractiveObject インスタンスとの接触位置で、ユーザーが回転ジェスチャを実行したときに送出されます(例えば、タッチスクリーン搭載の携帯電話またはタブレットの画面に 2 本指で触れ、その指を表示オブジェクト上で回転させる場合など)。 | InteractiveObject | |||
InteractiveObject インスタンスとの接触位置で、ユーザーがスワイプジェスチャを実行したときに送出されます(例えば、タッチスクリーン搭載の携帯電話またはタブレットの画面に 3 本指で触れてから、表示オブジェクト上でその 3 本の指をそろえて動かした場合など)。 | InteractiveObject | |||
タッチ対応デバイス上で、ユーザーが InteractiveObject インスタンスとの接触位置を形成してからタップしたときに送出されます(例えば、タッチスクリーン搭載の携帯電話またはタブレットの画面で、表示オブジェクト上に複数の指を置いてメニューを開いてから、1 本の指でタップしてメニューアイテムを選択する場合など)。 | InteractiveObject | |||
InteractiveObject インスタンスとの接触位置で、ユーザーがズームジェスチャを実行したときに送出されます(例えば、タッチスクリーン搭載の携帯電話またはタブレットの画面に 2 本指で触れてから、表示オブジェクト上でその 2 本の指をすばやく広げた場合など)。 | InteractiveObject | |||
このイベントは、IME でインライン入力をサポートしているすべてのクライアントアプリケーションに送出されます。 | InteractiveObject | |||
ユーザーがキーを押したときに送出されます。 | InteractiveObject | |||
ユーザーがキーボード操作によってフォーカスを変更しようとすると送出されます。 | InteractiveObject | |||
ユーザーがキーを離したときに送出されます。 | InteractiveObject | |||
HTML が有効になっているテキストフィールドで、URL が「event:」で始まるハイパーリンクをユーザーがクリックしたときに送出されます。 | TextField | |||
ユーザーが同じ InteractiveObject 上でポインティングデバイスの中央ボタンを押して離すと送出されます。 | InteractiveObject | |||
ユーザーが InteractiveObject インスタンス上でポインティングデバイスの中央ボタンを押したときに送出されます。 | InteractiveObject | |||
ユーザーが InteractiveObject インスタンス上でポインティングデバイスのボタンを離したときに送出されます。 | InteractiveObject | |||
ユーザーが InteractiveObject インスタンス上でポインティングデバイスのボタンを押したときに送出されます。 | InteractiveObject | |||
ユーザーがポインティングデバイスでフォーカスを変更しようとすると送出されます。 | InteractiveObject | |||
InteractiveObject の上で、ユーザーがポインティングデバイスを移動させたときに送出されます。 | InteractiveObject | |||
ユーザーが InteractiveObject インスタンスからポインティングデバイスを離したときに送出されます。 | InteractiveObject | |||
ユーザーが InteractiveObject インスタンスにポインティングデバイスを合わせたときに送出されます。 | InteractiveObject | |||
ユーザーが InteractiveObject インスタンス上でポインティングデバイスのボタンを離したときに送出されます。 | InteractiveObject | |||
マウスホイールが InteractiveObject インスタンス上を回転するときに送出されます。 | InteractiveObject | |||
ユーザーがドラッグジェスチャを止めると、ドラッグイニシエータ InteractiveObject から送出されます。 | InteractiveObject | |||
ドラッグされたオブジェクトがターゲットにドロップされ、そのドロップ操作が DragManager.acceptDragDrop() の呼び出しで受け入れられた場合に、ターゲットの InteractiveObject から送出されます。 | InteractiveObject | |||
ドラッグジェスチャが境界に入ると、InteractiveObject から送出されます。 | InteractiveObject | |||
ドラッグジェスチャが境界を出ると、InteractiveObject から送出されます。 | InteractiveObject | |||
ドラッグジェスチャが境界の範囲内で行われている間、InteractiveObject から継続的に送出されます。 | InteractiveObject | |||
ドラッグ操作の開始時に、DragManager.doDrag() 呼び出しのドラッグイニシエータとして指定されている InteractiveObject から送出されます。 | InteractiveObject | |||
ドラッグ操作が行われている間に、DragManager.doDrag() 呼び出しのドラッグイニシエータとして指定されている InteractiveObject から送出されます。 | InteractiveObject | |||
ユーザーがペースト操作のためにプラットフォーム固有のアクセラレーターキーの組み合わせをアクティブ化したとき、またはコンテキストメニューから「ペースト」を選択した場合に送出されます。 | InteractiveObject | |||
画面の類似性検出しきい値を超えて、ユーザーがアクティブなスタイラスを降ろしたときに送出されます。 | InteractiveObject | |||
画面の類似性検出しきい値を超えて、ユーザーがアクティブなスタイラスを持ち上げたときに送出されます。 | InteractiveObject | |||
類似性検出しきい値の範囲内で、ユーザーがアクティブなスタイラスを画面上に移動したときに送出されます。 | InteractiveObject | |||
画面の類似性検出しきい値の範囲内で、ユーザーがこの InteractiveObject からアクティブなスタイラスを離したときに送出されます。 | InteractiveObject | |||
画面の類似性検出しきい値の範囲内で、ユーザーがこの InteractiveObject の真上にアクティブなスタイラスを移動したときに送出されます。 | InteractiveObject | |||
画面の類似性検出しきい値の範囲内で、ユーザーがこの InteractiveObject やそのいずれかの子からアクティブなスタイラスを離したときに送出されます。 | InteractiveObject | |||
(画面の類似性検出しきい値の範囲内で)ユーザーがアクティブなスタイラスを表示リスト内のオブジェクトの子孫ツリーの外側から InteractiveObject 上に移動したときに送出されます。 | InteractiveObject | |||
ユーザーが最初に InteractiveObject インスタンス上でポインティングデバイスのボタンを押し、次にポインティングデバイスをその InteractiveObject インスタンス以外の場所に移動した後、ボタンを離したときに送出されます。 | InteractiveObject | |||
表示オブジェクトが表示リストから削除されようとしているときに送出されます。 | DisplayObject | |||
表示オブジェクトが、直接、または表示オブジェクトを含むサブツリーの削除により、表示リストから削除されようとしているときに送出されます。 | DisplayObject | |||
[ブロードキャストイベント] 表示リストが更新およびレンダリングされようとしているときに送出されます。 | DisplayObject | |||
ユーザーが同じ InteractiveObject 上でポインティングデバイスの右ボタンを押して離すと送出されます。 | InteractiveObject | |||
ユーザーが InteractiveObject インスタンス上でポインティングデバイスのボタンを押したときに送出されます。 | InteractiveObject | |||
ユーザーが InteractiveObject インスタンス上でポインティングデバイスのボタンを離したときに送出されます。 | InteractiveObject | |||
ユーザーが InteractiveObject インスタンスからポインティングデバイスを離したときに送出されます。 | InteractiveObject | |||
ユーザーが InteractiveObject インスタンスにポインティングデバイスを合わせたときに送出されます。 | InteractiveObject | |||
ユーザーがスクロールした後に、TextField オブジェクトによって送出されます。 | TextField | |||
ユーザーがすべて選択操作のためにプラットフォーム固有のアクセラレーターキーの組み合わせをアクティブ化したとき、またはコンテキストメニューから「すべて選択」を選択した場合に送出されます。 | InteractiveObject | |||
ソフトキーボードが前面に表示された直後に送出されます。 | InteractiveObject | |||
ソフトキーボードが前面に表示される直前に送出されます。 | InteractiveObject | |||
ソフトキーボードが背後に移動して非表示になった直後に送出されます。 | InteractiveObject | |||
オブジェクトの tabChildren フラグの値が変更されたときに送出されます。 | InteractiveObject | |||
オブジェクトの tabEnabled フラグが変更されたときに送出されます。 | InteractiveObject | |||
オブジェクトの tabIndex プロパティの値が変更されたときに送出されます。 | InteractiveObject | |||
Flash Player では、ユーザーがテキストの文字を入力したときに textInput イベントが送出されます。 | TextField | |||
Flash Player では、ユーザーがテキストフィールドの操作モードを変更したときに textInteractionModeChange イベントが送出されます。 | TextField | |||
タッチ対応デバイスにユーザーが初めて接触したときに送出されます(例えば、タッチスクリーン搭載の携帯電話またはタブレットの画面に指で触れる場合など)。 | InteractiveObject | |||
タッチ対応デバイスで、ユーザーが接触を解除したときに送出されます(例えば、タッチスクリーン搭載の携帯電話またはタブレットの画面から指を離す場合など)。 | InteractiveObject | |||
ユーザーがデバイスにタッチしたときに送出され、接触ポイントがなくなるまで継続的に送出されます。 | InteractiveObject | |||
タッチ対応デバイスで、ユーザーが接触位置を InteractiveObject インスタンスの外に移動したときに送出されます(例えば、タッチスクリーン搭載の携帯電話またはタブレットで、1 つの表示オブジェクトから別の表示オブジェクトに指をドラッグする場合など)。 | InteractiveObject | |||
タッチ対応デバイスで、ユーザーが InteractiveObject インスタンス上で接触位置を移動したときに送出されます(例えば、タッチスクリーン搭載の携帯電話またはタブレットで、表示オブジェクトの外にある位置から表示オブジェクト上に指をドラッグする場合など)。 | InteractiveObject | |||
ユーザーがタッチ対応デバイスの InteractiveObject インスタンス外に接触点を動かしたとき(例えば、タッチスクリーンを備えた携帯電話やタブレットで、表示オブジェクトから表示オブジェクト外に指をドラッグしたとき)に送出されます。 | InteractiveObject | |||
タッチ対応デバイスで、ユーザーが InteractiveObject インスタンス上で接触位置を移動したときに送出されます(例えば、タッチスクリーン搭載の携帯電話またはタブレットで、表示オブジェクトの外にある位置から表示オブジェクト上に指をドラッグする場合など)。 | InteractiveObject | |||
タッチ対応デバイスで、ユーザーが接触を開始した InteractiveObject インスタンスの同じ位置から指を離したときに送出されます(例えば、タッチスクリーン搭載の携帯電話またはタブレットの表示オブジェクト上の 1 点を、指で押したり離したりする場合など)。 | InteractiveObject |
alwaysShowSelection | プロパティ |
alwaysShowSelection:Boolean
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
true
に設定され、テキストフィールドにフォーカスがない場合、テキストフィールド内の選択内容は灰色でハイライト表示されます。false
に設定され、テキストフィールドにフォーカスがない場合、テキストフィールド内の選択内容はハイライト表示されません。
デフォルト値: false。
実装
public function get alwaysShowSelection():Boolean
public function set alwaysShowSelection(value:Boolean):void
関連する API エレメント
例 ( この例の使用方法 )
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 = createCustomTextField(0, 20, 200, 20); label1.text = "This text is selected."; label1.setSelection(0, 9); label1.alwaysShowSelection = true; var label2:TextField = createCustomTextField(0, 50, 200, 20); label2.text = "Drag to select some of this text."; } private function createCustomTextField(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
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, 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
関連する API エレメント
autoSize | プロパティ |
autoSize:String
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
テキストフィールドの自動的な拡大 / 縮小および整列を制御します。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 のメンバーではありません。
|
関連する API エレメント
background | プロパティ |
background:Boolean
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
テキストフィールドに背景の塗りつぶしがあるかどうかを指定します。true
である場合、テキストフィールドに背景の塗りがあります。false
である場合、テキストフィールドには背景の塗りがありません。backgroundColor
プロパティを使用して、テキストフィールドの背景色を設定します。
デフォルト値: false。
実装
public function get background():Boolean
public function set background(value:Boolean):void
関連する API エレメント
backgroundColor | プロパティ |
backgroundColor:uint
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
テキストフィールドの背景の色です。デフォルト値は 0xFFFFFF
(白)です。このプロパティは、現在背景がない場合でも取得または設定できます。ただし、背景の色が表示されるのはテキストフィールドの background
プロパティが true
に設定されている場合のみです。
実装
public function get backgroundColor():uint
public function set backgroundColor(value:uint):void
関連する API エレメント
border | プロパティ |
border:Boolean
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
テキストフィールドに境界線があるかどうかを指定します。true
である場合、テキストフィールドに境界線があります。false
である場合、テキストフィールドに境界線がありません。borderColor
プロパティを使用して、境界線の色を設定します。
デフォルト値: false。
実装
public function get border():Boolean
public function set border(value:Boolean):void
関連する API エレメント
borderColor | プロパティ |
borderColor:uint
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
テキストフィールドの境界線の色です。デフォルト値は 0x000000
(黒)です。このプロパティは、現在境界線がない場合でも取得または設定できます。ただし、境界線の色が表示されるのはテキストフィールドの border
プロパティが true
に設定されている場合のみです。
実装
public function get borderColor():uint
public function set borderColor(value:uint):void
関連する API エレメント
bottomScrollV | プロパティ |
bottomScrollV:int
[読み取り専用] 言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
指定されたテキストフィールドに現在表示されている一番下の行を示す整数です(1 から始まるインデックス)。テキストフィールドは、テキストのブロックにかぶせたウィンドウのようなものです。scrollV
プロパティは、そのウィンドウに表示されている先頭行を示すインデックスです(1 から始まるインデックス)。
scrollV
と bottomScrollV
で示される行の間のすべてのテキストが、テキストフィールドに現在表示されています。
実装
public function get bottomScrollV():int
関連する API エレメント
caretIndex | プロパティ |
caretIndex:int
[読み取り専用] 言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
カーソル(キャレット)位置のインデックスです。カーソルが表示されていない場合、この値は、フォーカスをフィールドに戻した場合にカーソルが表示される位置を示します。通常は、カーソルの最後の位置を示します。フィールドにフォーカスがなかった場合は 0 になります。
選択範囲のインデックスは 0 から始まります。つまり、最初の位置は 0、2 番目の位置は 1 で、以下同様に続きます。
実装
public function get caretIndex():int
関連する API エレメント
例 ( この例の使用方法 )
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 = createCustomTextField(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 createCustomTextField(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
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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
関連する API エレメント
例 ( この例の使用方法 )
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 = createCustomTextField(0, 0, 200, 50); tf1.condenseWhite = false; tf1.htmlText = "keep on\n\ttruckin'"; var tf2:TextField = createCustomTextField(0, 120, 200, 50); tf2.condenseWhite = true; tf2.htmlText = "keep on\n\ttruckin'"; } private function createCustomTextField(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:flash.text:TextFormat
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
新しく挿入するテキスト(ユーザーが入力したテキストや replaceSelectedText()
メソッドで挿入したテキストなど)に適用するフォーマットを指定します。
注意:setSelection()
と replaceSelectedText()
で置き換える文字を選択する場合は、末尾文字も含めてテキスト全体を選択した場合に限り、defaultTextFormat
が適用されます。次に例を示します。
var my_txt:TextField new TextField(); my_txt.text = "Flash Macintosh version"; var my_fmt:TextFormat = new TextFormat(); my_fmt.color = 0xFF0000; my_txt.defaultTextFormat = my_fmt; my_txt.setSelection(6,15); // partial text selected - defaultTextFormat not applied my_txt.setSelection(6,23); // text selected to end - defaultTextFormat applied my_txt.replaceSelectedText("Windows version");
defaultTextFormat
プロパティにアクセスすると、すべてのプロパティが定義された TextFormat オブジェクトが返されます。null
のプロパティはありません。
注意: このプロパティはテキストフィールドにスタイルシートが適用されていると設定できません。
実装
public function get defaultTextFormat():flash.text:TextFormat
public function set defaultTextFormat(value:flash.text:TextFormat):void
例外
Error — このメソッドは、スタイルシートを使用するテキストフィールドに対しては使用できません。
|
関連する API エレメント
displayAsPassword | プロパティ |
displayAsPassword:Boolean
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
テキストフィールドがパスワードテキストフィールドであるかどうかを指定します。このプロパティの値が true
である場合、テキストフィールドはパスワードテキストフィールドとして扱われ、入力された文字は実際の文字の代わりにアスタリスクで隠されます。false
である場合、テキストフィールドはパスワードテキストフィールドとして扱われません。パスワードモードを有効にすると、「カット」コマンドと「コピー」コマンド、およびそれに対応するキーボードショートカットが機能しなくなります。このセキュリティ機能により、ユーザーの不在時にキーボードショートカットを使用して悪質なユーザーがパスワードを盗むことを防止できます。
デフォルト値: false。
実装
public function get displayAsPassword():Boolean
public function set displayAsPassword(value:Boolean):void
embedFonts | プロパティ |
embedFonts:Boolean
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
埋め込みフォントのアウトラインを使用してレンダリングするかどうかを指定します。false
である場合は、デバイスフォントを使用してテキストフィールドをレンダリングします。
テキストフィールドの embedFonts
プロパティを true
に設定する場合、テキストフィールドに適用される TextFormat オブジェクトの font
プロパティを使用して、そのテキストのフォントを指定する必要があります。指定したフォントが SWF ファイルに埋め込まれていない場合、テキストは表示されません。
デフォルト値: false。
実装
public function get embedFonts():Boolean
public function set embedFonts(value:Boolean):void
関連する API エレメント
gridFitType | プロパティ |
gridFitType:String
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, 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
関連する API エレメント
例 ( この例の使用方法 )
gridFitType
プロパティの設定が異なる 3 つのテキストフィールドが示されます。この例を使用する場合は、最初の 2 行の読みやすさに違いがあることに注意してください。また、左揃えのテキストでの GridFitType.PIXEL
の最適な使用方法と、右揃えのテキストでの GridFitType.SUBPIXEL
の最適な使用方法についても注意してください。
package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFormat; import flash.text.TextFieldAutoSize; import flash.text.AntiAliasType; import flash.text.GridFitType; public class gridFitTypeExample extends Sprite { public function gridFitTypeExample() { var format1:TextFormat = new TextFormat(); format1.font="Arial"; format1.size=12; var tf1:TextField = createCustomTextField(0,0,format1,"NONE",TextFieldAutoSize.LEFT,GridFitType.NONE); var tf2:TextField = createCustomTextField(0,30,format1,"PIXEL",TextFieldAutoSize.LEFT,GridFitType.PIXEL); var tf3:TextField = createCustomTextField(300,60,format1,"SUBPIXEL",TextFieldAutoSize.RIGHT,GridFitType.SUBPIXEL); } private function createCustomTextField(x:Number,y:Number,fm:TextFormat,tl:String,tfs:String,gft:String):TextField { var result:TextField = new TextField(); result.x=x; result.y=y; result.embedFonts=true; result.antiAliasType=AntiAliasType.ADVANCED; result.text="This text uses a gridFitType of " + tl; result.autoSize=tfs; result.gridFitType=gft; result.setTextFormat(fm); addChild(result); return result; } } }
htmlText | プロパティ |
htmlText:String
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
テキストフィールドの内容を HTML で表します。
Flash Player では、次の HTML タグがサポートされています。
タグ | 説明 |
---|---|
アンカータグ |
<a> タグはハイパーリンクを作成するもので、次の属性を指定できます。
|
ボールドタグ |
<b> タグは、テキストをボールドで表示します。ボールド体を利用できるフォントで使用する必要があります。
|
ブレークタグ |
<br> タグは、テキストフィールドに改行を作成します。このタグを使用するには、テキストフィールドを複数行テキストフィールドに設定します。
|
フォントタグ |
<font> タグは、テキストを表示するフォントまたはフォントリストを指定します。フォントタグには、次の属性を指定できます。
|
イメージタグ |
<img> タグは、外部イメージファイル(JPEG、GIF、PNG)、SWF ファイル、およびムービークリップをテキストフィールドに埋め込みます。テキストは、テキストフィールドに埋め込んだイメージの周囲に自動的に配置されます。このタグを使用するには、テキストがイメージの周囲で折り返されるように、テキストフィールドを複数行に設定する必要があります。
Flash はテキストフィールドに埋め込まれたメディアをフルサイズで表示します。埋め込むメディアのサイズを指定するには、 一般に、テキストフィールドに埋め込まれたイメージは、 アプリケーションセキュリティサンドボックスの AIR コンテンツの場合、ActionScript TextField オブジェクトの HTML コンテンツにある |
イタリックタグ |
<i> タグは、指定されたテキストをイタリックで表示します。イタリック体を利用できるフォントで使用する必要があります。
|
リスト項目タグ |
<li> タグは、このタグに囲まれたテキストの行頭に箇条書き記号を表示します。注意:Flash Player および AIR では、番号付きリストタグや番号なしリストタグ(<ol> や <ul> )は認識されないため、これらのタグが使われていてもリストの表示形態に変化はありません。どのリストにも番号は付かず、すべてのリストアイテムに箇条書き記号が使用されます。
|
段落タグ |
<p> タグは新しい段落を作成します。このタグを使用するには、テキストフィールドを複数行テキストフィールドに設定する必要があります。<p> タグには、次の属性を指定できます。
|
範囲タグ |
<span> タグは、CSS テキストスタイルでのみ使用できます。次の属性をサポートします。
|
テキストフォーマットタグ |
|
下線タグ |
<u> タグを付けたテキストには下線が引かれます。
|
Flash Player および AIR では、次の HTML エンティティがサポートされています。
エンティティ | 説明 |
---|---|
< | <(より小さい) |
> | >(より大きい) |
& | &(アンパサンド) |
" | "(二重引用符) |
' | '(アポストロフィ、一重引用符) |
Flash Player および AIR ではまた、&(ASCII のアンパサンド)や €(Unicode の € シンボル)など、文字コードの明示的な指定もサポートされています。
実装
public function get htmlText():String
public function set htmlText(value:String):void
関連する API エレメント
例 ( この例の使用方法 )
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 = createCustomTextField(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 = createCustomTextField(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 createCustomTextField(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 | プロパティ |
maxChars | プロパティ |
maxChars:int
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
ユーザーが入力するときに、テキストフィールドに入力できる最大の文字数です。スクリプトは maxChars
の許容数を超えるテキストを挿入できます。maxChars
プロパティで指定されるのは、ユーザーが入力できるテキストの量だけです。このプロパティの値が 0
である場合、ユーザーが入力できるテキストの量には制限がありません。
デフォルト値: 0。
実装
public function get maxChars():int
public function set maxChars(value:int):void
maxScrollH | プロパティ |
maxScrollV | プロパティ |
mouseWheelEnabled | プロパティ |
mouseWheelEnabled:Boolean
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9 |
複数行にわたるテキストフィールドで、ユーザーがテキストフィールドをクリックしてホイールを回転させると、自動的にスクロールするかどうかを示すブール値です。デフォルト値は true
です。このプロパティは、マウスホイールでテキストフィールドをスクロールしない場合や、テキストフィールドのスクロールを独自に実装する場合に便利です。
実装
public function get mouseWheelEnabled():Boolean
public function set mouseWheelEnabled(value:Boolean):void
multiline | プロパティ |
multiline:Boolean
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
フィールドが複数行テキストフィールドであるかどうかを示します。値が true
である場合は複数行テキストフィールド、値が false
である場合は単一行テキストフィールドです。TextFieldType.INPUT
タイプのフィールドでは、multiline
の値によって、Enter
キーで改行されるかどうかが決定されます(値が false
の場合 Enter
キーは無視されます)。TextField
の multiline
の値が false
に設定されている場合、テキストをこのフィールドに貼り付けると、改行は削除されます。
デフォルト値: false。
実装
public function get multiline():Boolean
public function set multiline(value:Boolean):void
関連する API エレメント
numLines | プロパティ |
restrict | プロパティ |
restrict:String
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
ユーザーがテキストフィールドに入力できる文字のセットを指定します。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
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
現在の水平スクロール位置です。scrollH
プロパティが 0 である場合、テキストは水平にスクロールされません。このプロパティの値は、水平位置をピクセル単位で表す整数です。
垂直スクロールの単位は行数ですが、水平スクロールの単位はピクセル数です。水平スクロールをピクセル単位で指定するのは、一般的に使用されるフォントのほとんどがプロポーショナルフォントであり、文字の幅が一定でないためです。垂直スクロールの場合は、通常、1 行のテキストの一部だけ表示されるよりも行全体が表示されることが好まれるため、行単位でスクロールします。1 行の中に複数のフォントが存在する場合でも、使用されている最大のフォントに合わせて行の高さが調整されます。
注意:scrollH
プロパティは、scrollV
垂直スクロールプロパティのように 1 から始まるのではなく、0 から始まります。
実装
public function get scrollH():int
public function set scrollH(value:int):void
関連する API エレメント
scrollV | プロパティ |
scrollV:int
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
テキストフィールドのテキストの垂直位置です。scrollV
プロパティは、長い文節内の特定の段落にユーザーを誘導したり、スクロールテキストフィールドを作成する場合に便利です。
水平スクロールの単位はピクセル数ですが、垂直スクロールの単位は行数です。表示される最初の行がテキストフィールド内の最初の行の場合、scrollV は 1 に設定されます。0 ではありません。水平スクロールをピクセル単位で指定するのは、フォントのほとんどがプロポーショナルフォントであり、文字の幅が一定でないためです。垂直スクロールの場合は、通常、1 行のテキストの一部だけ表示されるよりも行全体が表示されることが好まれるため、行単位でスクロールします。1 行の中に複数のフォントが存在する場合でも、使用されている最大のフォントに合わせて行の高さが調整されます。
実装
public function get scrollV():int
public function set scrollV(value:int):void
関連する API エレメント
selectable | プロパティ |
selectable:Boolean
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
テキストフィールドが選択可能であるかどうかを示すブール値です。値 true
は、テキストが選択可能であることを示します。selectable
プロパティを使用することで、テキストフィールドが選択可能かどうかを指定できますが、編集可能かどうかは指定できません。ダイナミックテキストフィールドは、編集可能でない場合でも選択可能にすることができます。ダイナミックテキストフィールドが選択可能でない場合、ユーザーはフィールド内のテキストを選択できません。
selectable
を false
に設定すると、テキストフィールド内のテキストはマウスやキーボードからの選択コマンドに応答しなくなり、「コピー」コマンドを使用してテキストをコピーすることができなくなります。selectable
を true
に設定すると、テキストフィールド内のテキストはマウスやキーボードを使用して選択できるようになり、「コピー」コマンドを使用してテキストをコピーできるようになります。テキスト入力フィールドではなくダイナミックテキストフィールドの場合でも、この方法でテキストを選択できます。
デフォルト値: true。
実装
public function get selectable():Boolean
public function set selectable(value:Boolean):void
関連する API エレメント
例 ( この例の使用方法 )
selectable
プロパティが true
に設定され、もう一方のテキストフィールドは selectable
プロパティが false
に設定されます。この例を使用する場合は、これらのフィールド内のテキストをマウスまたはキーボードを使用して選択してください。
package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldAutoSize; public class selectableExample extends Sprite { public function selectableExample() { var tf1:TextField = createCustomTextField(10, 10); tf1.text="This text can be selected"; tf1.selectable=true; var tf2:TextField = createCustomTextField(10, 30); tf2.text="This text cannot be selected"; tf2.selectable=false; } private function createCustomTextField(x:Number, y:Number):TextField { var result:TextField = new TextField(); result.x = x; result.y = y; result.autoSize=TextFieldAutoSize.LEFT; addChild(result); return result; } } }
selectionBeginIndex | プロパティ |
selectionBeginIndex:int
[読み取り専用] 言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
現在の選択範囲の最初の文字を示す、0 から始まるインデックス値です。例えば、最初の文字が 0、次の文字が 1 と続きます(以下同様)。テキストが選択されていない場合、このプロパティは caretIndex
の値になります。
実装
public function get selectionBeginIndex():int
関連する API エレメント
例 ( この例の使用方法 )
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 = createCustomTextField(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 createCustomTextField(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
[読み取り専用] 言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
現在の選択範囲における最後の文字を示す、0 から始まるインデックス値です。例えば、最初の文字が 0、次の文字が 1 と続きます(以下同様)。テキストが選択されていない場合、このプロパティは caretIndex
の値になります。
実装
public function get selectionEndIndex():int
関連する API エレメント
例 ( この例の使用方法 )
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 = createCustomTextField(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 createCustomTextField(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
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, 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
関連する API エレメント
例 ( この例の使用方法 )
sharpness
プロパティを変更する場合の効果について示しています。フォントを埋め込んで、antiAliasType
プロパティを ADVANCED
に設定する必要があります。
package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldAutoSize; import flash.text.AntiAliasType; import flash.text.GridFitType; import flash.text.TextFormat; public class sharpnessExample extends Sprite { public function sharpnessExample() { var format1:TextFormat = new TextFormat(); format1.font="Arial"; format1.size=24; var lTxt:String = "The quick brown fox"; var tf1:TextField=createCustomTextField(0,lTxt,format1,-400); var tf2:TextField=createCustomTextField(30,lTxt,format1,0); var tf3:TextField=createCustomTextField(60,lTxt,format1,400); } private function createCustomTextField(y:Number,fldTxt:String,format:TextFormat,fldSharpness:Number):TextField { var result:TextField = new TextField(); result.y=y; result.text=fldTxt; result.embedFonts=true; result.autoSize=TextFieldAutoSize.LEFT; result.antiAliasType=AntiAliasType.ADVANCED; result.gridFitType=GridFitType.PIXEL; result.sharpness=fldSharpness; result..setTextFormat(format); addChild(result); return result; } } }
styleSheet | プロパティ |
styleSheet:StyleSheet
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
テキストフィールドにスタイルシートを関連付けます。スタイルシートの作成について詳しくは、StyleSheet クラスおよび『ActionScript 3.0 開発ガイド』を参照してください。
テキストフィールドに関連付けられているスタイルシートは、いつでも変更することができます。使用されているスタイルシートを変更すると、テキストフィールドは新しいスタイルシートを使用して再描画されます。スタイルシートを null
または undefined
に設定すると、そのスタイルシートを削除できます。使用されているスタイルシートを削除すると、テキストフィールドはスタイルシートを使用せずに再描画されます。
注意:スタイルシートが削除されると、TextField.text
および TextField.htmlText
の内容は両方とも、以前にスタイルシートで適用したフォーマットを適用するように変更されます。TextField.htmlText
の内容をフォーマットなしで保存するには、スタイルシートを削除する前に変数にその値を保存します。
実装
public function get styleSheet():StyleSheet
public function set styleSheet(value:StyleSheet):void
関連する API エレメント
例 ( この例の使用方法 )
stylesheet
プロパティを設定します。
package { import flash.display.Sprite; import flash.text.TextField; import flash.text.StyleSheet; public class TextStylesheetExample extends Sprite { var myLabel:TextField = new TextField(); var labelText:String = "Hello world."; var newStyle:StyleSheet = new StyleSheet(); public function TextStylesheetExample() { var styleObj:Object = new Object(); styleObj.fontWeight = "bold"; styleObj.color = "#660066"; newStyle.setStyle(".defStyle", styleObj); myLabel.styleSheet=newStyle; myLabel.htmlText=labelText; addChild(myLabel); } } }
text | プロパティ |
text:String
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
テキストフィールド内の現在のテキストであるストリングです。行は復帰文字('\r'
、ASCII 13)で区切られます。このプロパティは、HTML タグが付いていない、テキストフィールド内のフォーマットなしのテキストを示します。
HTML フォーム内のテキストを取得するには、htmlText
プロパティを使用します。
注意:テキストフィールドにスタイルシートが適用されている場合、text
プロパティの内容は HTML として解釈されます。
実装
public function get text():String
public function set text(value:String):void
関連する API エレメント
例 ( この例の使用方法 )
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 = createCustomTextField(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 = createCustomTextField(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 createCustomTextField(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
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
テキストフィールドのテキストの色です(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 = createCustomTextField(10, 10, 100, 300); tf.text = "This will be red text"; tf.textColor = 0xFF0000; } private function createCustomTextField(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
[読み取り専用] 言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
テキストの高さです(ピクセル単位)。
実装
public function get textHeight():Number
関連する API エレメント
例 ( この例の使用方法 )
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 = createCustomTextField(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 createCustomTextField(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; } } }
textInteractionMode | プロパティ |
textInteractionMode:String
[読み取り専用] 言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 11, Flash Lite 4 |
操作モードプロパティ。デフォルト値は TextInteractionMode.NORMAL です。モバイルプラットフォームのノーマルモードでは、テキストをスクロールすることはできますが選択はできません。テキストフィールドに装備されているコンテキストメニューを使用して、ユーザーは選択可能なモードへと切り替えることができます。デスクトップのノーマルモードでは、テキストはスクロール可能で、選択モードと同様に機能します。
実装
public function get textInteractionMode():String
textWidth | プロパティ |
textWidth:Number
[読み取り専用] 言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
テキストの幅です(ピクセル単位)。
実装
public function get textWidth():Number
関連する API エレメント
例 ( この例の使用方法 )
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 = createCustomTextField(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 createCustomTextField(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
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, 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
関連する API エレメント
例 ( この例の使用方法 )
thickness
プロパティを変更する場合の効果について示しています。フォントを埋め込んで、antiAliasType
プロパティを ADVANCED
に設定する必要があります。
package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldAutoSize; import flash.text.AntiAliasType; import flash.text.GridFitType; import flash.text.TextFormat; public class thicknessExample extends Sprite { public function thicknessExample() { var format1:TextFormat = new TextFormat(); format1.font="Arial"; format1.size=24; var lTxt:String = "The quick brown fox"; var tf1:TextField=createCustomTextField(0,lTxt,format1,-200); var tf2:TextField=createCustomTextField(30,lTxt,format1,0); var tf3:TextField=createCustomTextField(60,lTxt,format1,200); } private function createCustomTextField(y:Number,fldTxt:String,format:TextFormat,fldThickness:Number):TextField { var result:TextField = new TextField(); result.y=y; result.text=fldTxt; result.embedFonts=true; result.autoSize=TextFieldAutoSize.LEFT; result.antiAliasType=AntiAliasType.ADVANCED; result.gridFitType=GridFitType.PIXEL; result.thickness=fldThickness; result.setTextFormat(format); addChild(result); return result; } } }
type | プロパティ |
type:String
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
テキストフィールドのタイプです。次の TextFieldType 定数のいずれかです。TextFieldType.DYNAMIC
はダイナミックテキストフィールドを指定します。このフィールドをユーザーが編集することはできません。TextFieldType.INPUT
はテキスト入力フィールドを指定します。このフィールドはユーザーが編集できます。
デフォルト値: dynamic。
実装
public function get type():String
public function set type(value:String):void
例外
ArgumentError — 指定された type は、flash.text.TextFieldType のメンバーではありません。
|
関連する API エレメント
例 ( この例の使用方法 )
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 = createCustomTextField(10, 10, 100, 20); tfDynamic.type = TextFieldType.DYNAMIC; tfDynamic.text = "hello"; var tfInput:TextField = createCustomTextField(10, 45, 100, 20); tfInput.type = TextFieldType.INPUT; tfInput.text = "world"; } private function createCustomTextField(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
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9 |
テキストと共にテキストのフォーマットをコピー&ペーストするかどうかを指定します。true
に設定されている場合、テキストフィールド間でコピー&ペーストを行うと、Flash Player によってフォーマット(行揃え、ボールド、イタリックなど)もコピー&ペーストされます。コピー&ペースト手順のコピー元とペースト先のテキストフィールドの両方で、useRichTextClipboard
が true
に設定されている必要があります。デフォルト値は false
です。
実装
public function get useRichTextClipboard():Boolean
public function set useRichTextClipboard(value:Boolean):void
例 ( この例の使用方法 )
tf1
)および 2 つのダイナミックテキストフィールド(tf2
と tf3
)を作成します。このコードは、各ダイナミックテキストフィールドに TextFormat オブジェクト(Courier ボールドフォント)を割り当てます。 tf2
テキストフィールドの useRichTextClipboard
プロパティは false
に設定されます。tf3
テキストフィールドの useRichTextClipboard
プロパティは true
に設定されます。tf2
テキストフィールドからテキストをコピーし、tf1
テキストフィールドに貼り付けた場合、貼り付けられたテキストにはフォーマットが含まれません。 useRichTextClipboard
が true
に設定されている tf3
テキストフィールドからテキストをコピーし、tf1
テキストフィールドに貼り付けた場合、貼り付けられたテキストにはフォーマットが含まれます。
package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldType; import flash.text.TextFormat; public class useRichTextClipboard extends Sprite { public function useRichTextClipboard() { var format1:TextFormat = new TextFormat(); format1.font="Courier"; format1.bold=true; var tf1:TextField = createCustomTextField(10, 10, 200, 20); tf1.type=TextFieldType.INPUT; tf1.useRichTextClipboard=true; var tf2:TextField = createCustomTextField(220, 10, 200, 20); tf2.text="1.Text loses format"; tf2.setTextFormat(format1); tf2.useRichTextClipboard=false; var tf3:TextField = createCustomTextField(220, 50, 200, 20); tf3.text="2.Text includes format"; tf3.setTextFormat(format1); tf3.useRichTextClipboard=true; } private function createCustomTextField(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; } } }
wordWrap | プロパティ |
wordWrap:Boolean
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
テキストフィールドのテキストを折り返すかどうかを示すブール値です。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 = createCustomTextField(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 = createCustomTextField(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 createCustomTextField(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 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
新しい TextField インスタンスを作成します。TextField インスタンスの作成後、親 DisplayObjectContainer オブジェクトの addChild()
メソッドまたは addChildAt()
メソッドを呼び出し、TextField インスタンスを表示リストに追加します。
テキストフィールドのデフォルトサイズは 100 × 100 ピクセルです。
例 ( この例の使用方法 )
var theTextField:TextField = new TextField(); theTextField.type = TextFieldType.INPUT; theTextField.border = true; theTextField.x = 10; theTextField.y = 10; theTextField.multiline = true; theTextField.wordWrap = true; addChild(theTextField);
appendText | () | メソッド |
public function appendText(newText:String):void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
文字の境界ボックスである矩形を返します。
パラメーター
charIndex:int — 文字の 0 から始まるインデックス値です。つまり、最初の位置は 0、2 番目の位置は 1 で、以下同様に続きます。
|
Rectangle — 文字の境界ボックスを定義する x および y の最小値と最大値が指定された矩形です。
|
関連する API エレメント
例 ( この例の使用方法 )
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 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
文字インデックスを指定すると、同じ段落内の最初の文字のインデックスを返します。
パラメーター
charIndex:int — 文字の 0 から始まるインデックス値です。つまり、最初の文字は 0、2 番目の文字は 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 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
指定された id
の DisplayObject 参照を返します。<img>
タグを使用して HTML フォーマットのテキストフィールドに追加されたイメージまたは SWF ファイルに関するものです。<img>
タグは次の書式をとります。
<img src = 'filename.jpg' id = 'instanceName' >
パラメーター
id:String — (<img> タグの id 属性内にある)一致する id です。
|
DisplayObject — 一致する id 属性をテキストフィールドの <img> タグ内に持つイメージまたは SWF ファイルに対応する表示オブジェクトです。外部ソースから読み込まれたメディアの場合、このオブジェクトは Loader オブジェクトであり、いったん読み込まれると、メディアオブジェクトはその Loader オブジェクトの子になります。SWF ファイルに埋め込まれたメディアの場合、これは読み込まれたオブジェクトです。<img> タグの中に一致する id が含まれない場合、このメソッドは null を返します。
|
関連する API エレメント
例 ( この例の使用方法 )
イメージ(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 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
x
および y
パラメーターで指定されたポイントにある行の 0 から始まるインデックス値を返します。
パラメーター
x:Number — 行の x 座標です。
| |
y:Number — 行の y 座標です。
|
int — 行の 0 から始まるインデックス値です。つまり、最初の行は 0、2 番目の行は 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 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
charIndex
パラメーターで指定された文字を含む行の 0 から始まるインデックス値を返します。
パラメーター
charIndex:int — 文字の 0 から始まるインデックス値です。つまり、最初の文字は 0、2 番目の文字は 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 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
特定のテキスト行内の文字数を返します。
パラメーター
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):flash.text:TextLineMetrics
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
指定されたテキスト行に関するメトリック情報を返します。
パラメーター
lineIndex:int — メトリック情報が必要な行番号です。
|
flash.text:TextLineMetrics — TextLineMetrics オブジェクトです。
|
例外
RangeError — 指定した行番号は範囲外です。
|
関連する API エレメント
例 ( この例の使用方法 )
追加されたテキストは、ウォルト・ホイットマンの 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 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
lineIndex
パラメーターで指定された行の最初の文字の文字インデックスを返します。
パラメーター
lineIndex:int — 行の 0 から始まるインデックス値です。つまり、最初の行は 0、2 番目の行は 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 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
lineIndex
パラメーターで指定された行のテキストを返します。
パラメーター
lineIndex:int — 行の 0 から始まるインデックス値です。つまり、最初の行は 0、2 番目の行は 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 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
文字インデックスを指定すると、指定された文字を含む段落の長さを返します。この長さは、渡された文字インデックスからではなく、段落内の最初の文字からの相対的な長さです。つまり、getFirstCharInParagraph()
によって返される長さと同じになります。
パラメーター
charIndex:int — 文字の 0 から始まるインデックス値です。つまり、最初の文字は 0、2 番目の文字は 1 で、以下同様に続きます。
|
int — 段落内の文字数を返します。
|
例外
RangeError — 指定された文字インデックスは範囲外です。
|
関連する API エレメント
例 ( この例の使用方法 )
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):flash.text:TextFormat
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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 までのテキストが読み込まれます。
|
flash.text:TextFormat — 指定されたテキストのフォーマットプロパティを表す TextFormat オブジェクトです。
|
例外
RangeError — 指定された beginIndex または endIndex は範囲外です。
|
関連する API エレメント
例
この例の使用方法
getFirstCharInParagraph() または setTextFormat() メソッドの例を参照して、
getTextFormat()
メソッドの使用方法を確認してください。
isFontCompatible | () | メソッド |
public static function isFontCompatible(fontName:String, fontStyle:String):Boolean
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5, Flash Lite 4 |
指定された fontName
および fontStyle
で利用できる埋め込みフォントがあり、Font.fontType
が flash.text.FontType.EMBEDDED
の場合には、true を返します。Flash Player 10 以降では、2 種類の埋め込みフォントを SWF ファイルに表示できます。通常の埋め込みフォントは、TextField オブジェクトでのみ使用されます。CFF の埋め込みフォントは、flash.text.engine クラスでのみ使用されます。この 2 種類の埋め込みフォントは、fontType
プロパティ(Font
クラスのプロパティ)(enumerateFonts()
関数で返される)で区別されます。
TextField は EMBEDDED_CFF
タイプのフォントを使用できません。embedFonts
が true
に設定され、指定された名前およびスタイルで実行時に利用可能なフォントのタイプが EMBEDDED_CFF
のみである場合は、指定された名前およびスタイルで使用できる埋め込みフォントがない場合と同様に、Flash Player ではテキストを表示できません。
同じ名前およびスタイルで EMBEDDED
および EMBEDDED_CFF
の両方のフォントが利用できる場合は、EMBEDDED
フォントが選択され、テキストは EMBEDDED
フォントで表示されます。
パラメーター
fontName:String — チェックする埋め込みフォントの名前です。
| |
fontStyle:String — チェックするフォントスタイルを指定します。flash.text.FontStyle を使用します。
|
Boolean — 互換性のある埋め込みフォントが利用できる場合には true 、それ以外の場合には false となります。
|
例外
ArgumentError — 指定された fontStyle は、flash.text.FontStyle のメンバーではありません。
|
関連する API エレメント
replaceSelectedText | () | メソッド |
public function replaceSelectedText(value:String):void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
現在の選択内容を value
パラメーターの内容に置き換えます。テキストは、現在のデフォルトの文字フォーマットとデフォルトの段落フォーマットを使用して、現在の選択内容の位置に挿入されます。テキストは HTML として扱われません。
replaceSelectedText()
メソッドを使用すると、他の部分のテキストの文字フォーマットおよび段落フォーマットを損なわずにテキストを挿入および削除できます。
注意:このメソッドは、テキストフィールドにスタイルシートが適用されていると機能しません。
パラメーター
value:String — 現在選択されているテキストを置き換えるストリングです。
|
例外
Error — このメソッドは、スタイルシートを使用するテキストフィールドに対しては使用できません。
|
関連する API エレメント
例 ( この例の使用方法 )
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 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
最初の文字と最後の文字のインデックス値によって指定されたテキストを選択済みに設定します。最初の文字と最後の文字のインデックス値は、beginIndex
および endIndex
パラメーターを使用して指定されます。2 つのパラメーター値が同じ場合、このメソッドは、caretIndex
プロパティを設定した場合と同様に挿入ポイントを設定します。
パラメーター
beginIndex:int — 選択範囲の先頭の文字の 0 から始まるインデックス値です。つまり、最初の文字が 0、2 番目の文字が 1 で、以下同様に続きます。
| |
endIndex:int — 選択範囲の最後の文字を示す、0 から始まるインデックス値です。
|
関連する API エレメント
例 ( この例の使用方法 )
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:flash.text:TextFormat, beginIndex:int = -1, endIndex:int = -1):void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
format
パラメーターで指定したテキストフォーマットを、テキストフィールド内の指定されたテキストに適用します。format
の値は、必要なテキストフォーマットの変更を指定する TextFormat オブジェクトである必要があります。format
の null 以外のプロパティのみが、テキストフィールドに適用されます。format
で null
に設定されているプロパティは適用されません。デフォルトで、新しく作成された TextFormat オブジェクトのプロパティはすべて null
に設定されます。
注意:このメソッドは、テキストフィールドにスタイルシートが適用されていると機能しません。
setTextFormat()
メソッドは、テキストフィールドの文字の範囲またはテキスト全体に適用するテキストフォーマットを変更します。フォーマットのプロパティをテキストフィールド内のすべてのテキストに適用するには、beginIndex
および endIndex
に値を指定しないでください。フォーマットのプロパティをテキストの範囲に適用するには、beginIndex
および endIndex
パラメーターに値を指定します。length
プロパティを使用して、インデックス値を指定できます。
TextFormat オブジェクトのフォーマット情報には、文字レベルフォーマットと段落レベルフォーマットの 2 種類があります。テキストフィールド内の各文字にも、フォント名やフォントサイズ、ボールド、イタリックなどの文字固有のフォーマットを設定できます。
段落の場合は、段落の最初の文字を調べて段落全体のフォーマット設定を判別します。段落のフォーマット設定には、左インデント、右インデント、一行目インデントなどがあります。
ユーザーによって手作業で挿入されたテキスト、または replaceSelectedText()
メソッドを使用して置き換えられたテキストは、テキストの挿入か所に指定されているフォーマットではなく、新しいテキスト用のテキストフィールドのデフォルトフォーマットが適用されます。新しいテキスト用のデフォルトフォーマットを設定するには、defaultTextFormat
を使用します。
パラメーター
format:flash.text:TextFormat — 文字と段落のフォーマット情報を含む TextFormat オブジェクトです。
| |||||||||
beginIndex:int (default = -1 ) — オプション:該当するテキスト範囲の直後の文字を指定して、ゼロから始まるインデックス位置を指定する整数。
| |||||||||
endIndex:int (default = -1 ) — オプション:該当するテキスト範囲の直後の文字を指定する整数。意図したとおり、beginIndex と endIndex の値を指定すると、beginIndex から endIndex-1 までのテキストが更新されます。
ユーザーによって手作業で挿入されたテキスト、または |
例外
Error — このメソッドは、スタイルシートを使用するテキストフィールドに対しては使用できません。
| |
RangeError — 指定された beginIndex または endIndex は範囲外です。
|
関連する API エレメント
例 ( この例の使用方法 )
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
プロパティ Event.type =
flash.events.Event.CHANGE
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
値が変更される前に送出される textInput
イベントとは異なり、コントロールの値が変更された後に送出されます。コントロールがフォーカスを失った後でのみイベントを送出する change
イベントの W3C DOM Event Model バージョンとは異なり、change
イベントの ActionScript 3.0 バージョンはコントロールが変更されたときに送出されます。例えば、ユーザーがテキストフィールドにテキストを入力すると、キーストロークのたびに change
イベントが送出されます。
Event.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
プロパティ TextEvent.type =
flash.events.TextEvent.LINK
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
HTML が有効になっているテキストフィールドで、URL が「event:」で始まるハイパーリンクをユーザーがクリックしたときに送出されます。「event」の後の URL の部分は、LINK イベントの text プロパティ内に配置されます。
注意:デフォルトの動作であるテキストフィールドへのテキストの追加は、Flash Player がイベントを生成するときにのみ発生します。この場合は、ユーザーがテキストを入力しようとするときです。textInput
イベントに送信することによってテキストフィールドにテキストを入力することはできません。
type
プロパティ(link
イベントオブジェクト)の値を定義します。
このイベントには、次のプロパティがあります。
プロパティ | 値 |
---|---|
bubbles | true |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | クリックされたハイパーリンクを含むテキストフィールドです。target は、必ずしもイベントリスナーを登録した表示リスト内のオブジェクトとは限りません。現在イベントを処理している表示リスト内のオブジェクトにアクセスするには、currentTarget プロパティを使用します。 |
text | URL の、"event:" の後に続く部分です。 |
例 ( この例の使用方法 )
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
プロパティ Event.type =
flash.events.Event.SCROLL
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
ユーザーがスクロールした後に、TextField オブジェクトによって送出されます。
Event.SCROLL
定数は、type
プロパティ(scroll
イベントオブジェクト)の値を定義します。
このイベントには、次のプロパティがあります。
プロパティ | 値 |
---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | スクロールされた TextField オブジェクトです。target プロパティは、必ずしもイベントリスナーを登録した表示リスト内のオブジェクトとは限りません。現在イベントを処理している表示リスト内のオブジェクトにアクセスするには、currentTarget プロパティを使用します。 |
例 ( この例の使用方法 )
mouseDown
イベントが送出され、関連付けられた mouseDownScroll
ハンドラーが呼び出されます。mouseDownScroll()
ハンドラーによって、フィールドがスクロールします。次に、scroll
イベントが送出され、関連付けられた scrollHandler()
ハンドラーによって 2 番目のテキストフィールドが更新されて、現在のスクロール位置が表示されます。
package { import flash.display.Sprite; import flash.text.*; import flash.events.Event; import flash.events.TextEvent; import flash.events.MouseEvent; public class TextScrollExample extends Sprite { private var myTextBox1:TextField = new TextField(); private var myTextBox2:TextField = new TextField(); private var myText:String = "Hello world and welcome to the show. It's really nice to meet you. Take your coat off and stay a while. OK, show is over. Hope you had fun. You can go home now. Don't forget to tip your waiter. There are mints in the bowl by the door. Thank you. Please come again."; public function TextScrollExample() { myTextBox1.text = myText; myTextBox1.width = 200; myTextBox1.height = 50; myTextBox1.multiline = true; myTextBox1.wordWrap = true; myTextBox1.background = true; myTextBox1.border = true; myTextBox2.x=220; myTextBox2.text="scrolled to line: " + myTextBox1.scrollV; addChild(myTextBox1); addChild(myTextBox2); myTextBox1.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownScroll); myTextBox1.addEventListener(Event.SCROLL, scrollHandler); } public function mouseDownScroll(event:MouseEvent):void { myTextBox1.scrollV++; } public function scrollHandler(event:Event):void { myTextBox2.text="scrolled to line: " + myTextBox1.scrollV; } } }
textInput | イベント |
flash.events.TextEvent
プロパティ TextEvent.type =
flash.events.TextEvent.TEXT_INPUT
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Flash Player では、ユーザーがテキストの文字を入力したときに textInput
イベントを送出します。標準キーボード、IME(入力メソッドエディター)、音声認識システム、書式やスタイルの情報を持たないプレーンテキストのペースト操作など、様々なテキスト入力メソッドによって、このイベントが生成されます。
type
プロパティ(textInput
イベントオブジェクト)の値を定義します。
注意:このイベントは、Delete または Backspace キーについては送出されません。
このイベントには、次のプロパティがあります。
プロパティ | 値 |
---|---|
bubbles | true |
cancelable | true 。デフォルトの動作を取り消すには、preventDefault() メソッドを呼び出します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | 文字が入力されるテキストフィールドです。target は、必ずしもイベントリスナーを登録した表示リスト内のオブジェクトとは限りません。現在イベントを処理している表示リスト内のオブジェクトにアクセスするには、currentTarget プロパティを使用します。 |
text | ユーザーが入力した文字または文字の連続です。 |
例 ( この例の使用方法 )
textInput
イベントが送出され、textInputHandler()
ハンドラーが呼び出されて、2 番目のテキストフィールドに文字が表示されます。テキストブロックを入力フィールドに貼り付けると、イベントハンドラーによってブロック全体がもう一方のフィールドにコピーされます。
package { import flash.display.Sprite; import flash.text.*; import flash.events.Event; import flash.events.TextEvent; import flash.events.MouseEvent; public class TextInputExample extends Sprite { private var myTextBox1:TextField = new TextField(); private var myTextBox2:TextField = new TextField(); public function TextInputExample() { myTextBox1.type = TextFieldType.INPUT; myTextBox1.width = 200; myTextBox1.height = 20; myTextBox1.background = true; myTextBox1.border = true; myTextBox2.x=220; addChild(myTextBox1); addChild(myTextBox2); myTextBox1.addEventListener(TextEvent.TEXT_INPUT,textInputHandler); } public function textInputHandler(event:TextEvent):void { myTextBox2.text=event.text; } } }
textInteractionModeChange | イベント |
flash.events.Event
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 11, Flash Lite 4 |
Flash Player では、ユーザーがテキストフィールドの操作モードを変更したときに textInteractionModeChange
イベントが送出されます。例えば Android では、ユーザーはコンテキストメニューのオプションを使用して、ノーマルモードと選択モードを切り替えることができます。
TextFieldExample
クラスを使用して、テキストメッセージを表示します。これを行うには、以下の手順を使用します。
- タイプが TextField の
label
プロパティが作成されます。 - クラスコンストラクターが
configureLabel()
関数を呼び出します。 -
configureLabel()
メソッドはまず、新しい TextField オブジェクトを作成し、これをlabel
プロパティに割り当て、次に、そのパラメーターを次のように設定します。- テキストフィールドを左揃えにします。
- 背景の塗りを有効にします。
- 境界線を有効にします。
configureLabel()
メソッドがformat
変数を作成し、それを TextFormat の新しいインスタンスに割り当てます。次に、パラメーターを次のように設定します。- Font type = Verdana
- Font color = solid red
- Font size = 10
- Font underline = true
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); } } }
Tue Jun 12 2018, 10:34 AM Z