| Flex 2 開発ガイド > Flex アプリケーションのユーザーインターフェイスの作成 > Flex ビジュアルコンポーネントの使用 > コンポーネントの拡張 | |||
Flex 2 SDK で既存のコンポーネントを拡張してコンポーネントを作成するには、いくつかの方法があります。コンポーネントを拡張することで、コンポーネントに新しいプロパティやメソッドを追加できます。
たとえば、次の MXML コンポーネントは "MyComboBox.mxml" ファイルに定義されているコンポーネントで、標準の ComboBox コントロールを拡張し、ニューイングランド地方の州の略称で初期化されます。
<?xml version="1.0"?>
<!-- components\myComponents\MyComboBox.mxml -->
<mx:ComboBox xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:dataProvider>
<mx:String>CT</mx:String>
<mx:String>MA</mx:String>
<mx:String>ME</mx:String>
<mx:String>NH</mx:String>
<mx:String>RI</mx:String>
<mx:String>VT</mx:String>
</mx:dataProvider>
</mx:ComboBox>
この例はまた、省略可能なコーディングの一例も示しています。Flex では dataProvider は配列と想定されているため、<mx:Array> タグを指定する必要はありません。
新しいコンポーネントを作成したら、そのファイル名を MXML タグ名として指定することで、アプリケーションの任意の場所で新しいコンポーネントを使用できます。次に例を示します。
<?xml version="1.0"?>
<!-- components\MainMyComboBox.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:MyComps="myComponents.*"
width="150"
height="150">
<MyComps:MyComboBox id="stateNames"/>
</mx:Application>
この例では、新しいコンポーネントがアプリケーションファイルと同じディレクトリに存在するため、アスタリスク (*) で示されたローカル名前空間を MyComps 識別子にマップしています。
Flex では、次の方法のいずれかを使用してカスタムコンポーネントを作成できます。どの方法を選ぶかは、アプリケーションとコンポーネントの要件によって異なります。
カスタムコンポーネントの作成の詳細については、『Flex 2 コンポーネントの作成と拡張』を参照してください。
Flex 2.01