Flex 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>
前の例で実行する SWF ファイルは以下のとおりです。
この例では、新しいコンポーネントが myComponents サブディレクトリ内にあります。myComponents.* 名前空間は、識別子 MyComps にマッピングされています。
Flex では、次の方法のいずれかを使用してカスタムコンポーネントを作成できます。どの方法を選ぶかは、アプリケーションとコンポーネントの要件によって異なります。
カスタムコンポーネントの作成の詳細については、『Adobe Flex 3 コンポーネントの作成と拡張』を参照してください。
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート