Apdesigner プログラマーズガイド |
目次 索引 |
第2部 アプリケーション開発編 | > 第6章 JavaBeansを開発する | > 6.2 開発の流れ |
BeanInfoは、Beanをコンポーネントとして利用するプログラムに対するインタフェース情報です。BeanInfoには、以下の情報があります。
これらの情報を定義する場合は、BeanInfo定義を使います。Beanのファイル(Javaフォーム、アプレットまたはそのほかのJavaソース)を開き、メニューバーから[編集] > [BeanInfoの定義] > [BeanInfo定義]を選択して、BeanInfo定義を呼び出します。定義したプロパティやメソッドの処理は、Javaで記述します。
BeanInfoの定義について、以下に示します。
プロパティとは、コンポーネント(Javaの場合はBean)のある状態を示す値を格納するものです。Beanを利用するプログラムからプロパティにアクセスするには、プロパティの取得メソッドと設定メソッドを使います。プロパティの定義とは、この取得および設定メソッドを実装することです。
また、プロパティには、インデックスを付けることもできます。
プロパティを以下の手順で実装することができます。
すでに定義してあるメソッドを取得および設定メソッドとして利用することもできます。
プロパティの取得および設定メソッドは、以下の規則で作成します。また、既存のメソッドを取得および設定メソッドとして利用する場合は、以下の規則で作成されたメソッドである必要があります。
プロパティの取得メソッドは、次のすべての条件を満たす必要があります。
BeanInfo定義では、指定したプロパティ名とプロパティの型によって上記条件のメソッドを生成することができます。このとき、メソッド名は、プロパティ名の先頭1文字を大文字にしてgetまたはisを先頭に付けたものになります。たとえば、プロパティ名fooの場合は、getFooとなります。
プロパティの設定メソッドは、次のすべての条件を満たす必要があります。
BeanInfo定義では、指定したプロパティ名とプロパティの型によって上記条件のメソッドを生成することができます。このとき、メソッド名は、プロパティ名の先頭1文字を大文字にしてsetを先頭に付けたものになります。たとえば、プロパティ名fooの場合は、setFooとなります。
プロパティは、JavaBeansの規約に従って以下のような属性を指定することができます。
Apdesignerでは、この指定による動作を規定していません。
プロパティが変更されることを、あらかじめイベントでBeanを利用しているプログラムへと通知する場合に指定します。イベントVetoableChange_vetoableChangeで通知します。例外PropertyVetoExceptionを発生させると、変更を抑止することができます。
継承したBeanでは、基底クラスのコンストレインドプロパティの変更はできません。
プロパティの変更があったことを、イベントでBeanを利用しているプログラムへと通知する場合に指定します。イベントPropertyChange_propertyChangeで通知します。
継承したBeanでは、基底クラスのバウンドプロパティの変更はできません。
プロパティをインデックス付きで扱う場合に指定します。
プロパティを定義する固有のダイアログ画面を指定します。ダイアログ画面は、PropertyEditor Interfaceを実装して作成します。作成の詳細については、"Java Development Kitオンラインマニュアル"のjava.beans.PropertyEditorを参照してください。
Beanの使用者は意識する必要がないプロパティです。プロパティの一覧に表示しない場合に指定します。
一般のBeanの使用者が意識する必要がないプロパティの場合に指定します。詳細は、java.beans.PropertyDescriptorクラスのisExpertまたはsetExpertメソッドを参照してください。
ApdesignerのJavaフォーム定義では、プロパティ一覧にこの属性が指定してあるプロパティを表示するか表示しないかを、環境設定により設定することができます。なお、入力テンプレートでは指定にかかわらず表示されます。
プロパティの説明を指定します。ここに指定した内容は、Javaフォーム定義のプロパティシートでプロパティをマウスでクリックしたときに、ウィンドウの下部に表示されます。
メソッドとは、コンポーネント(Javaの場合はBean)の外部関数です。Javaのクラスに存在するメソッドとして実装します。
メソッドを以下の手順で実装することができます。
また、Javaエディタのメソッド追加でBeanのメソッドとするかを指定することもできます。
メソッドには、以下の属性を指定することができます。
Beanの使用者は意識する必要がないメソッドです。一覧に表示しない場合に指定します。
Apdesignerでは、この指定による動作を規定していません。
メソッドの説明を指定します。ここに指定した内容は、入力テンプレートでメソッドをマウスでクリックしたときにウィンドウの下部に表示されます。
イベントは、コンポーネント(Javaの場合はBean)内のある出来事に対応して発生する事象です。イベントを発生させることによりBeanの外に事象を通知することができます。イベントの定義とは、イベントの処理クラスの定義と、任意のタイミングで発火処理を実装することです。
イベントを以下の手順で実装することができます。
イベント・オブジェクト・クラスならびにイベント・リスナ・インタフェースのソースを生成するときは、Apdesignerのメニューバーから[編集] > [BeanInfoの定義] > [イベントソースの生成]を選択します。
生成されたクラスの修正は、通常のJavaソースとしてJavaエディタを利用します。
イベントには、以下の属性を指定することができます。なお、ストックイベントの場合、「マルチキャスト型のイベントとする」以降は設定できません。
Apdesignerでは、この指定による動作を規定していません。
イベントを要求するプログラム(リスナ登録したクラス)すべてに、イベントを通知するかどうかを指定します。指定しない場合は、最初にイベントを要求したプログラム(リスナの先頭に登録されたクラス)にだけイベントを通知します。
継承したBeanでは、マルチキャストイベントの変更はできません。
Beanの使用者は意識する必要がないイベントです。一覧に表示しない場合に指定します。
Apdesignerでは、この指定による動作を規定していません。
Apdesignerでは、この指定による動作を規定していません。
Beanを登録したときにオブジェクトパレットに表示されるアイコンを指定します。4つの種類(16×16ドットカラー、16×16ドットモノクロ、32×32ドットカラーおよび32×32ドットモノクロ)のアイコンを登録することができます。ファイルには、GIFまたはJPEG形式が指定可能です。すでに作成済みのBeanを継承し、新しいBeanを作成する場合、継承元のBeanがもつアイコンを利用することもできます。なお、Apdesignerのオブジェクトパレットの表示では、16×16カラーのファイルだけを利用します。
ファイルはソースフォルダ配下にインポートしてください。
Beanの固有ダイアログを指定します。ダイアログ画面は、java.beans.Customizer インタフェースを実装して作成します。作成の詳細については、"Java Development Kitオンラインマニュアル"のjava.beans.Customizerを参照してください。ダイアログ画面は、Javaフォーム定義で、Beanを選択して操作するコンテキストメニューから[カスタマイザ]を選択するか、プロパティシートのカスタマイザボタンから起動します。
目次 索引 |