任意の UI コンポーネントインスタンスは、
setStyle()
メソッドおよび
getStyle()
メソッドを直接呼び出して、スタイルを設定したり、取得したりできます。次のシンタックスで、コンポーネントインスタンスのスタイルおよび値を指定します。
instanceName.setStyle("styleName", value);
このシンタックスで、コンポーネントインスタンスのスタイルを取得します。
var a_style:Object = new Object();
a_style = instanceName.getStyle("styleName");
getStyle()
メソッドは Object 型を返します。これは、異なるデータ型を持つ複数のスタイルを返すことができるためです。例えば、次のコードは TextArea インスタンス(
aTa
)のフォントスタイルを設定し、
getStyle()
メソッドを使用してそのスタイルを取得します。この例では、戻り値を TextFormat オブジェクトにキャストし、その値を TextFormat 変数に割り当てます。 キャストを行わないと、コンパイラーは Object 変数を TextFormat 変数に強制しようとしてエラーが発生します。
import flash.text.TextFormat;
var tf:TextFormat = new TextFormat();
tf.font = "Georgia";
aTa.setStyle("textFormat",tf);
aTa.text = "Hello World!";
var aStyle:TextFormat = aTa.getStyle("textFormat") as TextFormat;
trace(aStyle.font);
TextFormat を使用したテキストプロパティの設定
コンポーネントインスタンスのテキストをフォーマットするには、TextFormat オブジェクトを使用します。 TextFormat オブジェクトには、
bold
、
bullet
、
color
、
font
、
italic
、
size
など、テキスト特性を指定できるプロパティがあります。これらのプロパティは TextFormat オブジェクトで設定し、
setStyle()
メソッドを呼び出してコンポーネントインスタンスに適用します。例えば、次のコードでは TextFormat オブジェクトの
font
、
size
および
bold
プロパティを設定し、それらのプロパティを Button インスタンスに適用します。
/* Create a new TextFormat object to set text formatting properties. */
var tf:TextFormat = new TextFormat();
tf.font = "Arial";
tf.size = 16;
tf.bold = true;
a_button.setStyle("textFormat", tf);
次の図は、Submit ラベルを持つボタンでの、これらの設定の効果を示しています。
setStyle()
を使用してコンポーネントインスタンスに設定したスタイルプロパティは、最も優先度が高く、その他のスタイル設定よりも優先されます。ただし、単一のコンポーネントインスタンスに対して
setStyle()
を使用して設定したプロパティが多ければ多いほど、該当するコンポーネントの実行時のレンダリング速度は遅くなります。