Adobe Flex 3 ヘルプ

メタデータタグ

次の表に、ActionScript クラスファイル内で使用できるメタデータタグを示します。

タグ

説明

[ArrayElementType]

Array の各要素について許容されるデータ型を定義します。詳しくは、ArrayElementType メタデータタグを参照してください。

[Bindable]

データバインディング式のソースとして使用できるプロパティを識別します。詳しくは、Bindable メタデータタグを参照してください。

[DefaultProperty]

MXML ファイル内でコンポーネントを使用するときに、コンポーネントのデフォルトプロパティの名前を定義します。詳しくは、DefaultProperty メタデータタグを参照してください。

[Deprecated]

クラスまたはクラスエレメントを非推奨としてマークし、アプリケーションでそのエレメントが使用されると、コンパイラが認識して警告を発行できるようにします。詳しくは、Deprecated メタデータタグを参照してください。

[Effect]

エフェクトの MXML プロパティ名を定義します。詳しくは、Effect メタデータタグを参照してください。

[Embed]

コンパイル時に、JPEG、GIF、PNG、SVG および SWF ファイルを読み込みます。イメージアセットを SWC ファイルから読み込むことも可能です。

この機能は MXML @Embed シンタックスに相当します。詳しくは、アセットの埋め込みを参照してください。

[Event]

イベントの MXML プロパティと、コンポーネントが生成するイベントオブジェクトのデータ型を定義します。詳しくは、Event メタデータタグを参照してください。

[Exclude]

Flex Builder のタグインスペクタでクラスエレメントを省略します。シンタックスは次のとおりです。

[Exclude(name="label", kind="property")]

[ExcludeClass]

Flex Builder のタグインスペクタでクラスを省略します。これは、AsDoc の @private タグをクラスに適用する場合と同じです。

[IconFile]

Adobe Flex Builder の「Insert」バーにあるコンポーネントを表すアイコンのファイル名を指定します。詳しくは、IconFile メタデータタグを参照してください。

[Inspectable]

Flex Builder の属性のヒントおよびタグインスペクタでコンポーネントユーザーに公開する属性を定義します。また、プロパティに設定できる値を制限します。詳しくは、Inspectable メタデータタグを参照してください。

[InstanceType]

IDeferredInstance 型のプロパティの許容されるデータ型を指定します。詳しくは、InstanceType メタデータタグを参照してください。

[NonCommittingChangeEvent]

一時トリガとするイベントを指定します。詳しくは、NonCommittingChangeEvent メタデータタグを参照してください。

[RemoteClass]

ActionScript オブジェクトを Java オブジェクトにマップします。[RemoteClass] メタデータタグの使用方法について詳しくは、RemoteClass メタデータタグを参照してください。

[Style]

コンポーネントのスタイルプロパティの MXML プロパティを定義します。[Style] メタデータタグの使用方法について詳しくは、Style メタデータタグを参照してください。

[Transient]

[RemoteClass] を使用して ActionScript オブジェクトが Java オブジェクトにマップされる際に、サーバーに送信されるデータから省略する必要があるプロパティを識別します。詳しくは、Transient メタデータタグを参照してください。

ArrayElementType メタデータタグ

ActionScript で Array 変数を定義するときは、変数のデータ型として Array を指定します。ただし、Array の要素のデータ型は指定できません。

Flex MXML コンパイラが Array 要素の型チェックを実行できるようにするには、次の例に示すように、[ArrayElementType] メタデータタグを使用して Array 要素の許容されるデータ型を指定します。

public class MyTypedArrayComponent extends VBox {

    [ArrayElementType("String")] 
    public var newStringProperty:Array;

    [ArrayElementType("Number")] 
    public var newNumberProperty:Array;
    ...
} 

注意: MXML コンパイラは、MXML コード内でのみ、Array が正しく使用されているかどうかをチェックします。ActionScript コード内での Array の使用方法についてはチェックしません。

この例では、Array 要素の許容されるデータ型として String を指定します。ユーザーが String 以外のデータ型の要素を MXML ファイル内の Array に割り当てようとすると、次の例に示すように、コンパイラによりシンタックスエラーが生成されます。

<MyComp:MyTypedArrayComponent>
    <MyComp:newStringProperty>
        <mx:Number>94062</mx:Number>
        <mx:Number>14850</mx:Number>
        <mx:Number>53402</mx:Number>
    </MyComp:newStringProperty>
</MyComp:MyTypedArrayComponent>

この例では、Number オブジェクトを使用して Array を初期化しようとしたため、コンパイラによりエラーが生成されます。

また、次の例に示すように、子タグを使用する代わりに、タグ属性として Array プロパティを指定することもできます。

<MyComp:MyTypedArrayComponent newNumberProperty="[abc,def]"/>

Flex は String「abc」と「def」を Number に変換できないため、この MXML コードではエラーが生成されます。

[ArrayElementType] メタデータタグは、変数定義の前に挿入します。タグのシンタックスは次のとおりです。

[ArrayElementType("elementType")]

次の表に、[ArrayElementType] メタデータタグのプロパティを示します。

プロパティ

説明

elementType

String

Array 要素のデータ型を指定します。String、Number、クラス、インターフェイスなどの ActionScript データ型のいずれかになります。

型には、パッケージを含む完全修飾クラス名を指定する必要があります。

Bindable メタデータタグ

プロパティがデータバインディング式のソースである場合、Flex はソースプロパティの変更時に自動的にソースプロパティの値を宛先プロパティにコピーします。ただし、コピーを実行するよう Flex に通知するためには、[Bindable] メタデータタグを使用してプロパティを Flex に登録し、ソースプロパティからイベントを送出する必要があります。

[Bindable] メタデータタグのシンタックスは次のとおりです。

[Bindable]
[Bindable(event="eventname")]

イベント名を省略すると、Flex は自動的に propertyChange という名前のイベントを生成します。

データバインディングおよびこのメタデータタグについて詳しくは、データバインディングを参照してください。

バインド可能プロパティチェーンの使用

データバインディングのソースとしてプロパティを指定すると、Flex では、そのプロパティの変更だけでなく、そのプロパティが含まれるプロパティチェーンも監視されます。宛先プロパティを含むプロパティのチェーン全体は、「バインド可能プロパティチェーン」と呼ばれます。次の例の firstName.text は、firstName オブジェクトとその text プロパティを含むバインド可能プロパティチェーンです。

<first>{firstName.text}</first>

バインド可能プロパティチェーン内の指定したプロパティが変更された場合には、イベントを生成する必要があります。プロパティが [Bindable] メタデータタグによってマークされている場合は、Flex コンパイラによって自動的にイベントが生成されます。

次の例は、変数および getter プロパティに対して [Bindable] メタデータタグを使用しています。また、この例は dispatchEvent() 関数を呼び出す方法も示しています。

[Bindable] 
public var minFontSize:Number = 5;

[Bindable("textChanged")] 
public function get text():String {
     return myText;
}

public function set text(t : String):void {
     myText = t;
    dispatchEvent( new Event( "textChanged" ) );}

[Bindable] メタデータタグでイベント名を省略した場合は、Flex コンパイラによって、propertyChange という名前のイベントが自動的に生成されて送出されるため、プロパティをデータバインディング式のソースとして使用できます。

また、オブジェクトを既知の型にキャストすることによって、オブジェクトに関する具体的な情報をコンパイラに提供する必要があります。次の例では、List コントロールの myList に Customer オブジェクトが含まれているので、selectedItem プロパティは Customer オブジェクトにキャストされます。

<mx:Model id="selectedCustomer">
    <customer>
        <name>{Customer(myList.selectedItem).name}</name>
        <address>{Customer(myList.selectedItem).address}</address>
        ... 
    </customer>
</mx:Model>

場合によっては、バインディングが意図したとおりに自動的に実行されないことがあります。次の例に示すように、dataProvider プロパティのアイテム全体を変更した場合、バインディングは自動的には実行されません。

dataProvider[i] = newItem

また、次の例のように、プロパティのサブプロパティが [Bindable] メタデータを持つ場合も、バインディングは自動的には実行されません。

...
[Bindable]
var temp;
// Binding is triggered:
temp = new Object();
// Binding is not triggered, because label not a bindable property
// of Object:
temp.label = foo; 
...

このコード例では、{temp.label} に関して、temp が Object であることが問題です。この問題は次のいずれかの方法で解決できます。

  • Object の初期化前処理を行います。
  • ObjectProxy を temp に割り当てます。ObjectProxy のプロパティはすべてバインド可能です。
  • temp を、バインド可能な label プロパティを使用して、厳密に型指定されたオブジェクトにします。

mouseX プロパティなど、Flash Player によって自動的に更新されるプロパティにデータをバインディングする場合にも、バインディングは自動的には実行されません。

UIComponent クラスの executeBindings() メソッドは、UIComponent オブジェクトを宛先とするすべてのバインディングを実行します。Repeater コンポーネントを含むすべてのコンテナおよびコントロールは、UIComponent クラスを拡張したものです。Container クラスおよび Repeater クラスの executeChildBindings() メソッドは、Container クラスまたは Repeater クラスの子 UIComponent コンポーネントを宛先とするすべてのバインディングを実行します。コンテナはすべて、Container クラスを拡張したものです。

これらのメソッドにより、意図したとおりに行われないバインディングを実行できます。変更を加えてもバインディングが実行されない場合にユーザーインターフェイスを更新するには、executeChildBindings() メソッドへの呼び出しなどのコードを 1 行追加します。ただし、executeBindings() メソッドは、バインディングが自動的に実行されないことがわかっている場合にのみ使用します。

DefaultProperty メタデータタグ

[DefaultProperty] メタデータタグは、MXML ファイル内でコンポーネントを使用するときにコンポーネントのデフォルトプロパティの名前を定義します。

[DefaultProperty] メタデータタグのシンタックスは次のとおりです。

[DefaultProperty("propertyName")]

propertyName プロパティは、デフォルトプロパティの名前を指定します。

[DefaultProperty] メタデータタグを ActionScript コンポーネント内で使用して、1 つのデフォルトプロパティを定義できます。詳細および使用例については、デフォルトプロパティの作成を参照してください。

Deprecated メタデータタグ

非推奨としてマークされたクラスまたはクラスエレメントは古いとみなされ、その使用は現在のリリースでは推奨されません。非推奨クラスやクラスエレメントを現在も使用可能である場合、使用するとコンパイラ警告が発生します。

mxmlc コマンドラインコンパイラは、show-deprecation-warnings コンパイラオプションをサポートします。このオプションが true の場合、非推奨エレメントがアプリケーションで使用されると、使用を避けることを促す警告がコンパイラによって発行されます。デフォルト値は true です。

[Deprecated] メタデータタグは、非推奨とマークするプロパティ、メソッドまたはクラス定義の前に挿入します。クラス、プロパティまたはメソッドで使用する場合、[Deprecated] メタデータタグのシンタックスには次のオプションがあります。

[Deprecated("string_describing_deprecation")]
[Deprecated(message="string_describing_deprecation")]
[Deprecated(replacement="string_specifying_replacement")]
[Deprecated(replacement="string_specifying_replacement", since="version_of_replacement")]

次の例では、[Deprecated] メタデータタグを使用して、dataProvider プロパティを非推奨とマークしています。

[Deprecated(replacement="MenuBarItem.data")]
public function set dataProvider(value:Object):void
{
    ...
}

また、非推奨化は、[Event] メタデータタグ、[Effect] メタデータタグおよび[Style] メタデータタグでもサポートされています。これらのタグのシンタックスには、次のオプションがあります。

[Event(... , deprecatedMessage="string_describing_deprecation")]
[Event(... , deprecatedReplacement="change2")]
[Event(... , deprecatedReplacement="string_specifying_replacement", deprecatedSince="version_of_replacement")]

これらのメタデータタグでは、イベント、エフェクトまたはスタイルを非推奨とマークするために、deprecatedReplacement 属性および deprecatedSince 属性がサポートされています。

Effect メタデータタグ

[Effect] メタデータタグは、エフェクトをコンポーネントに割り当てるために使用する MXML プロパティの名前と、エフェクトをトリガするイベントを定義します。カスタムエフェクトを定義する場合は、[Effect] メタデータタグを使用して、そのプロパティを Flex コンパイラに指定できます。

カスタムエフェクトの定義方法について詳しくは、エフェクトを参照してください。

エフェクトは、そのエフェクトを呼び出す対応するイベントと組み合わせて使用します。トリガは、マウスのクリック、フォーカスの移動、不可視状態から可視状態への変更など、コンポーネントに対する操作のイベントを特に指します。エフェクトは、コンポーネント上で一定時間に発生する視覚的または聴覚的変化です。

[Effect] メタデータタグは、ActionScript ファイル内のクラス定義の前、または MXML ファイル内の <mx:Metadata> ブロックに挿入します。[Effect] メタデータタグのシンタックスは次のとおりです。

[Effect(name="eventNameEffect", event="eventName")]

次の表に、[Effect] メタデータタグのプロパティを示します。

プロパティ

説明

eventNameEffect

String

エフェクトの名前を指定します。

eventName

String

エフェクトをトリガするイベントの名前を指定します。

通常、[Effect] メタデータタグは [Event] メタデータタグと組み合わせて使用されます。[Event] メタデータタグは、エフェクトのトリガに対応するイベントを定義します。慣例として、次の ActionScript ファイルの例に示すように、エフェクト名はイベント名に接尾辞 Effect を付加した名前になります。

// Define event corresponding to the effect trigger.
[Event(name="darken", type="flash.events.Event")]
// Define the effect.
[Effect(name="darkenEffect", event="darken")] 
class ModalText extends TextArea {
    ...
}

次の例に示すように、MXML ファイルでは、<mx:Metadata> ブロック内でイベントとエフェクトを定義できます。

<mx:Metadata>
    [Event(name="darken", type="flash.events.Event")]
    [Effect(name="darkenEffect", event="darken")]
</mx:Metadata>

Event メタデータタグ

イベントの MXML プロパティと、コンポーネントが生成するイベントオブジェクトのデータ型を定義するには、[Event] メタデータタグを使用します。[Event] メタデータタグは、ActionScript ファイル内のクラス定義の前、または MXML ファイル内の <mx:Metadata> ブロックに挿入します。

カスタムイベントの定義方法について詳しくは、カスタムイベントを参照してください。

[Event] メタデータタグのシンタックスは次のとおりです。

[Event(name="eventName", type="package.eventType")]

次の表に、[Event] メタデータタグのプロパティを示します。

プロパティ

説明

eventName

String

パッケージ名を含むイベント名を指定します。

eventType

String

イベントオブジェクトのデータ型を定義するクラスを指定します。クラス名は、基本イベントクラスの Event または Event クラスのサブクラスのどちらかになります。クラス名には、パッケージを含める必要があります。

次の例では、コンポーネントが送出できるイベントとして myClickEvent イベントを指定しています。

[Event(name="myClickEvent", type="flash.events.Event")]

[Event] メタデータタグを使用してクラスファイルにイベントを指定せず、MXML 内でそのイベント名を使用しようとすると、MXML コンパイラによりエラーが生成されます。[Event] メタデータタグを省略した場合でも、addEventListener() メソッドを使用すれば、コンポーネントは ActionScript 内のイベントのイベントリスナーを登録できます。

次の例では、ActionScript コンポーネントが送出できるイベントとして myClickEvent イベントを指定しています。

[Event(name="myEnableEvent", type="flash.events.Event")]
public class MyComponent extends UIComponent
{
    ...
}

次の例は、MXML ファイル内の <mx:Metadata> タグ内の [Event] メタデータタグを示しています。

<?xml version="1.0"?>
<!-- TextAreaEnabled.mxml -->
<mx:TextArea xmlns:mx="http://www.adobe.com/2006/mxml">

    <mx:Metadata> 
        [Event(name="myEnableEvent", type="flash.events.Event")] 
    </mx:Metadata> 

    ....

</mx:TextArea>

IconFile メタデータタグ

Flex Builder の「Insert」バーにあるコンポーネントを表すアイコンのファイル名を指定するには、[IconFile] メタデータタグを使用します。

[IconFile] メタデータタグのシンタックスは次のとおりです。

[IconFile("fileName")]

次の例に示すように、fileName プロパティは、アイコンが格納された PNG、GIF または JPEG ファイルを指定します。

[IconFile("MyButton.png")]
public class MyButton extends Button
{
    ...
}

Inspectable メタデータタグ

[Inspectable] メタデータタグは、Flex Builder のコードヒントおよびプロパティインスペクタ領域で公開されるコンポーネントの属性に関する情報を定義します。[Inspectable] メタデータタグは、コードヒントにもプロパティインスペクタにも不要です。Flex Builder がこの情報を表示する方法は、次の規則に従って決まります。

  • コンポーネントのすべてのパブリックプロパティは、コードヒントと Flex Builder プロパティインスペクタに表示されます。列挙値や、String プロパティがファイルパスを表すことなど、追加するプロパティに関する追加情報がある場合は、その情報と共に [Inspectable] メタデータタグを追加します。
  • コンポーネントのコードヒントとプロパティインスペクタの情報は、同じデータから得られます。したがって、属性がいずれかに表示される場合は、もう一方にも表示されます。
  • ActionScript コンポーネントのコードヒントが正しく機能するためにメタデータは必要ないので、現在のスコープに応じて適切なコードヒントが常に表示されます。Flex Builder は、publicprotectedprivate および static キーワードに加え現在のスコープを使用して、表示する ActionScript コードヒントを決定します。

[Inspectable] メタデータタグは、プロパティの変数宣言、またはそのプロパティにバインドされる setter および getter メソッドの直前に配置する必要があります。[Inspectable] メタデータタグのシンタックスは次のとおりです。

[Inspectable(attribute=value[,attribute=value,...])]
property_declaration name:type; 
[Inspectable(attribute=value[,attribute=value,...])]
setter_getter_declarations; 

次の表に、[Inspectable] メタデータタグのプロパティを示します。

プロパティ

説明

category

String

プロパティを、Flex Builder ユーザーインターフェイスでプロパティインスペクタ内の特定のサブカテゴリに分類します。デフォルトのカテゴリは "Other" です。"Common""Effects""Events""Layout Constraints""Size""Styles" または "Other" の値を指定します。

defaultValue

String または Number

属性を変更するときにプロパティインスペクタに表示されるエディタの初期値を設定します。デフォルト値はプロパティ定義によって決まります。

enumeration

String

プロパティで許容される正当な設定値のカンマ区切りリストを指定します。item1item2item3 などの値のみ指定できます。Flex Builder は空白を有効な値の一部として解釈しないため、アイテム間に空白文字はありません。

この情報は、コードヒントとプロパティインスペクタに表示されます。Boolean 変数を定義すると、Flex Builder は truefalse を自動的に表示します。enumeration を使用して指定する必要はありません。

environment

String

許容しない Inspectable プロパティ(environment=none)、Flex Builder でのみ使用するプロパティ(environment=Flash)、または、Flex でのみ使用し Flex Builder では使用しないプロパティ(environment=MXML)を示します。

format

String

属性を変更するときにプロパティインスペクタに表示されるエディタのデータ型を指定します。このプロパティは、属性のデータ型がその関数に固有のものでない場合に使用できます。例えば、Number 型のプロパティでは、属性を変更するときに format="Color" と指定し、Flex Builder がカラーエディタを開くようにできます。format プロパティの共通の値には、"Length""Color""Time""EmbeddedFile""File" などがあります。

listOffset

Number

List 値へのデフォルトのインデックスを指定します。

name

String

プロパティの表示名(例えば、Font Width など)を指定します。指定しないと、_fontWidth などのプロパティ名が使用されます。

type

String

型指定子を指定します。省略すると、プロパティのデータ型が使用されます。使用できる値は次のとおりです。

  • Array
  • Boolean
  • Color
  • Font Name
  • List
  • Number
  • Object
  • String

プロパティが配列である場合は、その配列で有効な値をリストする必要があります。

variable

String

このパラメータをバインドする対象の変数を指定します。

verbose

Number

verbose プロパティを含めるようにユーザーが指定した場合にのみ、この Inspectable プロパティが Flex Builder ユーザーインターフェイスに表示されることを示します。このプロパティが指定されていない場合、Flex Builder は、そのプロパティを表示するものと見なします。

次の例では、myProp パラメータを Inspectable として定義しています。

[Inspectable(defaultValue=true, verbose=1, category="Other")]
public var myProp:Boolean;

InstanceType メタデータタグ

[InstanceType] メタデータタグは、次の例に示すように、IDeferredInstance 型のプロパティの許容されるデータ型を指定します。

// Define a deferred property for the top component.
[InstanceType("mx.controls.Label")]
public var topRow:IDeferredInstance;

Flex コンパイラは、ユーザーが指定されたデータ型の値のみをプロパティに指定していることを検証します。次の例では、コンポーネントのユーザーが topRow プロパティを mx.controls.Label 以外のデータ型の値に設定すると、コンパイラからエラーメッセージが発行されます。

テンプレートコンポーネントを作成する場合は、[InstanceType] メタデータタグを使用します。詳しくは、テンプレートコンポーネントを参照してください。

[InstanceType] メタデータタグのシンタックスは次のとおりです。

[InstanceType("package.className")]

完全修飾パッケージおよびクラス名を指定する必要があります。

NonCommittingChangeEvent メタデータタグ

[NonCommittingChangeEvent] メタデータタグは、イベントを一時トリガとして指定します。つまり、イベントはプロパティの Flex データバリデータを呼び出しません。このタグは、頻繁に変更されるが、変更ごとには検証しないプロパティに対して使用します。

例えば、TextInput コントロールの text プロパティにバリデータを関連付けている場合などが考えられます。text プロパティはキーストロークが入力されるたびに変化しますが、検証はユーザーが Enter キーを押すか、フォーカスがフィールドから別の場所に移動するまで実行しないものとします。NonCommittingChangeEvent タグは変更イベントの送出を促しますが、検証はトリガしません。

[NonCommittingChangeEvent] メタデータタグは、ActionScript プロパティ定義の前に挿入するか、setter または getter メソッドの前に挿入します。[NonCommittingChangeEvent] メタデータタグのシンタックスは次のとおりです。

[NonCommittingChangeEvent("event_name")]

次の例では、ユーザーがキーストロークを入力するたびにコンポーネントが change イベントを送出しますが、change イベントはデータバインディングまたはデータバリデータをトリガしません。ユーザーが Enter キーを押してデータ入力を完了すると、コンポーネントはデータバインディングおよびデータバリデータをトリガするために valueCommit イベントをブロードキャストします。

[Event(name="change", type="flash.events.Event")]
class MyText extends UIComponent {
    ...

    [Bindable(event="valueCommit")]
    [NonCommittingChangeEvent("change")]
    function get text():String {
        return getText();
    }
    function set text(t):void {
        setText(t);
        // Dispatch events. 
    }
}

RemoteClass メタデータタグ

[RemoteClass] メタデータタグを使用して、Flex にクラスを登録します。これにより、AMF(Action Message Format)を使用してクラスインスタンスを直列化するときに、Flex によって型情報が保持されます。[RemoteClass] メタデータタグは、ActionScript クラス定義の前に挿入します。[RemoteClass] メタデータタグのシンタックスは次のとおりです。

[RemoteClass]

このタグを使用して、クライアントアプリケーション内のサーバー側 Java オブジェクトを表すこともできます。[RemoteClass(alias=" ")] メタデータタグを使用して、Java オブジェクトに直接割り当てる ActionScript オブジェクトを作成します。alias の値として、Java クラスの完全修飾クラス名を指定します。詳しくは、Flex によるサーバーサイドデータへのアクセスを参照してください。

Style メタデータタグ

コンポーネントのスタイルプロパティの MXML タグ属性を定義するには、[Style] メタデータタグを使用します。[Style] メタデータタグは、ActionScript ファイル内のクラス定義の前、または MXML ファイル内の <mx:Metadata> ブロックに挿入します。

[Style] メタデータタグのシンタックスは次のとおりです。

[Style(name="style_name"[,property="value",...])]

次の表に、[Style] メタデータタグのプロパティを示します。

オプション

説明

name

String

(必須)スタイルの名前を指定します。

type

String

スタイルプロパティに書き込む値のデータ型を指定します。Number や Date などの ActionScript データ型でない場合は、packageName.className という形式の修飾クラス名を使用します。

arrayType

String

typeArray である場合、arrayType は Array 要素のデータ型を指定します。データ型が Number や Date などの ActionScript データ型でない場合は、packageName.className という形式の修飾クラス名を使用します。

format

String

プロパティの単位を指定します。例えば、"Number"type として指定する場合は、format="Length" を指定してスタイルの長さをピクセル単位で定義できます。または、type="uint" を指定する場合は、format="Color" を設定してスタイルの RGB カラーを定義できます。

enumeration

String

スタイルプロパティの候補値の列挙型リストを指定します。

inherit

String

プロパティを継承するかどうかを指定します。有効な値は、yes および no です。このプロパティは、オブジェクト指向の継承ではなく、CSS 継承を参照します。すべてのサブクラスが、オブジェクト指向の継承を自動的に使用し、スーパークラスのスタイルプロパティの定義を継承します。

一部のスタイルプロパティは、CSS 継承を使用して継承されます。継承可能なスタイルプロパティを親コンテナに設定した場合、そのスタイルプロパティは子に継承されます。例えば、Panel コンテナで fontFamily を Times に定義した場合、他の値でオーバーライドされない限り、そのコンテナのすべての子にも fontFamily に Times が使用されます。

親コンテナに textDecoration などの継承不可能なスタイルを設定すると、そのスタイルは親コンテナにのみ使用され、子には使用されません。継承可能なスタイルプロパティについて詳しくは、スタイルの継承についてを参照してください。

states

String

スキンプロパティに対して、スタイルを使用できるように指定し、複数の状態を持つコンポーネントにステートフルスキンを指定します。例えば、Slider.thumbSkin スタイルの定義では、次の [Style] メタデータタグを使用します。

[Style(name="thumbSkin", type="Class", inherit="no", states="disabled, down, over, up")]

この行では、Slider.thumbSkin スタイルを使用して、Slider コントロールの無効、ダウン、オーバーおよびアップの各状態をステートフルスキンに指定できることを示しています。詳しくは、スキンの作成を参照してください。

次の例は、textSelectedColor スタイルプロパティの定義を示しています。

[Style(name="textSelectedColor",type="Number",format="Color",inherit="yes")]

次の例は、verticalAlign スタイルプロパティの定義を示しています。

[Style(name="verticalAlign", type="String", enumeration="bottom,middle,top", inherit="no")]

[Style] メタデータタグについて詳しくは、カスタムスタイルプロパティを参照してください。

Transient メタデータタグ

ActionScript オブジェクトが Java オブジェクトに[RemoteClass] メタデータタグでマップされる際に、[Transient] メタデータタグを使用して、サーバーに送信されるデータから省略する必要があるプロパティを識別します。

[Transient] メタデータタグのシンタックスは次のとおりです。

[Transient]
public var count:Number = 5;

 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート