text プロパティを使用すると、テキストコントロールに表示するテキストストリングを指定したり、コントロール内のテキストをプレーンテキストストリングとして取得したりできます。このプロパティを設定すると、テキストストリング内のすべての HTML タグは、リテラルテキストとしてコントロール内に表示されます。
text プロパティを設定するときにテキストフォーマットを指定することはできませんが、コントロール内でテキストをフォーマットすることは可能です。テキストコントロールスタイルを使用してコントロール内のすべてのテキストをフォーマットし、TextRange クラスを使用してテキスト領域をフォーマットすることができます。(TextRange クラスの使用の詳細については、テキストの選択と修正を参照してください。)
次のコード行では、text プロパティを使用してラベルテキストを指定します。
<mx:Label text="This is a simple text label"/>
引用符、大なり記号、小なり記号、アポストロフィなどの特殊文字を指定する方法は、それらの特殊記号を MXML タグで使用するか ActionScript タグで使用するかによって異なります。また、テキストを直接指定するか、CDATA セクションにテキストをラップするかによっても異なります。
次の規則は、テキストコントロール MXML タグの text プロパティに特殊文字を含める方法を示しています。つまり、text="the text" などのプロパティ割り当て、または <mx:text> サブタグの本体のいずれかに指定します。
標準テキストの使用
次のルールは、CDATA セクションを使用しない場合の特殊文字の使用方法を決定します。
次のコード例では、標準テキストに text プロパティを使用します。
<?xml version="1.0"?>
<!-- textcontrols/StandardText.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" height="400">
<mx:Text width="400" text="This string contains a less than, <,
greater than, >, ampersand, &, apostrophe, ', and
quotation mark "."/>
<mx:Text width="400" text='This string contains a less than, <,
greater than, >, ampersand, &, apostrophe, ', and
quotation mark, ".'/>
<mx:Text width="400">
<mx:text>
This string contains a less than, <, greater than,
>, ampersand, &, apostrophe, ', and quotation mark, ".
</mx:text>
</mx:Text>
</mx:Application>
前の例で実行する SWF ファイルは以下のとおりです。
結果として生成されるアプリケーションには、ほぼ同一の 3 つのテキストコントロールが含まれます。各コントロールには、次のテキストが含まれます。ただし最初の 2 つのコントロールでは、テキスト内のすべてのタブがスペースに変換されます。
This string contains a less than, <, greater than, >, ampersand, &,apostrophe, ', and quotation mark, ".
CDATA セクション
CDATA タグ内でテキストを折り返す場合、次の規則が適用されます。
次のコード例は、CDATA セクションの規則に従ったものです。<mx:text> タグ内の 2 行目および 3 行目のテキストはインデントされません。先行するタブやスペース文字があれば、表示テキスト内に表示されるからです。
<?xml version="1.0"?>
<!-- textcontrols/TextCDATA.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" width="500">
<mx:Text width="100%">
<mx:text>
<![CDATA[This string contains a less than, <, greater than, >,
ampersand, &, apostrophe, ', return,
tab. and quotation mark, ".]]>
</mx:text>
</mx:Text>
</mx:Application>
前の例で実行する SWF ファイルは以下のとおりです。
表示テキストは、次のように 3 行に表示されます。
This string contains a less than, <, greater than, >, ampersand, &, apostrophe, ', return, tab. and quotation mark, ".
次の規則は、初期化関数などで ActionScript を使用してコントロールの text プロパティ値を指定する場合や、プロパティの設定で使用する変数にストリング値を割り当てる場合に、テキストコントロールに特殊文字を挿入する方法を指定します。
次の例では、初期化関数を使用して、text プロパティに特殊文字を含むストリングを設定します。
<?xml version="1.0"?>
<!-- textcontrols/InitText.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" initialize="initText()">
<mx:Script>
public function initText():void {
//The following is on one line.
myText.text="This string contains a return, \n, tab, \t, and quotation mark, \". This string also contains less than, <, greater than, >, ampersand, &, and apostrophe, ', characters.";
}
</mx:Script>
<mx:Text width="450" id="myText" initialize="initText();"/>
</mx:Application>
前の例で実行する SWF ファイルは以下のとおりです。
次の例では、<mx:Script> タグと CDATA セクション内の変数を使用して、text プロパティを設定します。
<?xml version="1.0"?>
<!-- textcontrols/VarText.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
[Bindable]
//The following is on one line.
public var myText:String ="This string contains a return, \n, tab, \t, and quotation mark, \". This string also contains less than, <, greater than, <, ampersand, <;, and apostrophe, ', characters.";
]]>
</mx:Script>
<mx:Text width="450" text="{myText}"/>
</mx:Application>
前の例で実行する SWF ファイルは以下のとおりです。
それぞれの例の表示テキストは、3 行に表示されます。最初の行は \n 文字により指定された改行で終わります。残りのテキストは、1 行に収めるには長すぎるため、3 行目に折り返されます(次の出力ではわかりにくいかもしれませんが、タブ文字が正しい位置に挿入されています。)
This string contains a return, , tab, , and quotation mark, ". This string also contains less than, <, greater than, >, ampersand, &, and apostrophe, ', characters.
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート