親クラスの選択

コンポーネント作成時に最初に決めることは、バージョン 2 クラスのいずれかを継承するかどうかです。 バージョン 2 クラスを継承する場合は、Button、CheckBox、ComboBox、List などのコンポーネントクラスか、基本クラスである UIObject または UIComponent のいずれかを継承できます。Media コンポーネントを除くすべてのコンポーネントクラスは、基本クラスを継承しています。したがって、コンポーネントクラスを継承した場合、クラスは自動的に基本クラスを継承することになります。

2 つの基本クラスは、コンポーネントに必要な共通の機能を提供します。 これらのクラスを継承することにより、基本的な各種メソッド、プロパティ、イベントがあらかじめ用意された状態からコンポーネントの作成を開始できます。

バージョン 2 フレームワークでは、UIObject、UIComponent、または他のクラスを作成することは必須ではありません。 直接 MovieClip クラスを継承する場合でも、多くの強力なコンポーネントの機能、 つまり、SWC ファイルまたはコンパイルされたクリップへの書き出し、ビルトインライブプレビューの使用、Inspectable プロパティの表示などを使用できます。 ただし、作成するコンポーネントと Macromedia バージョン 2 コンポーネントを併用し、Manager クラスを使用する場合は、UIObject または UIComponent を継承する必要があります。

次の表に、バージョン 2 基本クラスの概要を示します。

基本クラス

親クラス

説明

mx.core.UIObject

MovieClip

UIObject は、グラフィカルなオブジェクトすべての基本クラスです。 UIObject は形状を持つことができ、それ自体を表示することも非表示にすることもできます。

UIObject は、次のような機能を備えています。

  • スタイルの編集
  • イベントの処理
  • 伸縮によるサイズの変更
mx.core.UIComponent

UIObject

UIComponent は、すべてのコンポーネントの基本クラスです。

UIComponent は、次のような機能を備えています。

  • フォーカスナビゲーションの作成
  • タブ順序の作成
  • コンポーネントの有効化と無効化
  • コンポーネントのサイズ変更
  • 低レベルのマウスイベントおよびキーボードイベントの処理

UIObject クラスについて

Macromedia Component Architecture バージョン 2 に基づくコンポーネントは、UIObject クラスを継承します。UIObject は MovieClip クラスのサブクラスです。 MovieClip クラスは、Flash 内のビジュアルオブジェクトを表現するすべてのクラスの基本クラスです。

UIObject には、スタイルとイベントを処理するためのメソッドが追加されています。UIObject では、描画の直前 (draw イベント。MovieClip.onEnterFrame イベントに相当)、ロードおよびアンロード時 (load および unload)、レイアウト変更時 (move および resize)、オブジェクトの非表示および表示時 (hide および reveal) に、リスナーに対してイベントが送出されます。

UIObject には、コンポーネントの位置とサイズを決定する読み取り専用の代替変数 (widthheightxy) と、オブジェクトの位置およびサイズを変更するための move() メソッドおよび setSize() メソッドがあります。

UIObject クラスは、次の機能を実装します。

UIComponent クラスについて

UIComponent クラスは UIObject のサブクラスです (『コンポーネントリファレンスガイド』のUIComponent クラスを参照)。 また、ユーザーの対話操作 (マウス入力とキーボード入力) を扱うコンポーネントすべての基本クラスです。 UIComponent クラスのコンポーネントでは次の処理ができます。

他のバージョン 2 クラスの継承について

コンポーネントを容易に構築できるよう、任意のクラスを継承できます。直接 UIObject クラスまたは UIComponent クラスを継承する必要はありません。 Media コンポーネント以外のバージョン 2 コンポーネントのクラスを継承すると、自動的に UIObject および UIComponent も継承したことになります。 コンポーネント辞書の一覧にあるコンポーネントクラスはすべて、継承して新しいコンポーネントクラスを作成できます。

たとえば、Button コンポーネントとほとんど同様に動作するコンポーネントを作成する場合、Button クラスを継承すればよく、Button クラスに相当するすべての機能を自力で基本クラスから作成する必要はありません。

次の図は、バージョン 2 コンポーネントの階層を示しています。



バージョン 2 コンポーネントの階層構造


このファイルの FlashPaper バージョンは、Flash インストールディレクトリ (Flash 8\Samples and Tutorials\Samples\Components\arch_diagram.swf) で利用可能です。

MovieClip クラスの継承について

コンポーネント作成時には、バージョン 2 クラスではなく、ActionScript MovieClip クラスを直接継承することもできます。 ただし、UIObject や UIComponent に用意されている何らかの機能が必要になっても、その機能は自分で作成する必要があります。 UIObject クラスおよび UIComponent クラスを開き (FirstRun/classes/mx/core)、それらがどのように構築されたかを調べることができます。


 

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

現在のページ: http://livedocs.adobe.com/flash/8_jp/main/00003022.html