Apdesigner プログラマーズガイド
目次 索引 前ページ次ページ

第2部 アプリケーション開発編> 第6章 JavaBeansを開発する> 6.1 概要

6.1.1 Beanの分類

Apdesignerでは、Beanを以下の2つに分類し、それぞれの開発機能を提供しています。

それぞれのBeanの作成について、以下に示します。

+単体Beanを作成する

テキストフィールドやボタンのような単一のコンポーネントから構成されるBeanです。既存の単体Beanを継承し、付加機能を付け、新しい単体Beanとして作成します。
独自の見かけをもつGUI部品を作成する場合、重量コンポーネントの場合はjava.awt.Canvas、軽量コンポーネントの場合はjavax.swing.JComponent(作成にjava.swing.*のパッケージ群を利用する)またはjava.awt.Component(作成にjava.awt.*のパッケージ群を利用する)をそれぞれ継承して、その上に独自の描画処理を付加します。
基底クラスにビューをもたないクラスを指定した場合は、不可視Beanとなります。java.lang.Objectなどを継承します。不可視Beanはビューをもたないため、一般のソースと同様にエディタ上で編集します。

重量コンポーネントと軽量コンポーネントの選択

重量コンポーネントを使用するか、軽量コンポーネントを使用するかは、作成するBeanをフォームに貼り付けて利用するときに、一緒に貼ると想定されるBeanまたは貼り付け先のコンテナとなるべく同じ種類になるように選択します。これは、異なる種類のBeanを混在させると、必ず重量コンポーネントが上に表示されるなどの問題があるためです。重量コンポーネントでそろえるか、軽量コンポーネントでそろえるかということを前提に、機能面について検討を行い、最終的に重量コンポーネントか、軽量コンポーネントかを判断することを推奨します。

単体Beanを作成する場合は、Pure Javaプロジェクトの新規作成または、Apdesignerのメニューバーから[ファイル] > [新規] > [その他]を選択します。[新規]ダイアログボックスのツリーから[Java] > [GUI] > [JavaBeans]を選択します。 [JavaBeans情報]ページでソースを格納するフォルダとクラスのパッケージ名を指定します。[JavaBeanの新規作成]ページで、[単体Bean]または[不可視Bean]を選択します。
新規作成では、基底Beanのプロパティ、メソッドおよびイベントを新規BeanのBeanInfoにすることができます。新規作成後は、BeanInfo定義でプロパティやメソッドなどのBean情報を定義します。また、利用している基底Beanのプロパティは、Javaフォーム定義のプロパティウィンドウを使って、初期値を設定することができます。基底Beanから取り込んだプロパティや新規に追加したプロパティについては、初期値を設定する処理を追加します。たとえば、クラスのコンストラクタに初期化処理を追加します。

+複合Beanを作成する

複数のBeanで構成するBeanです。Javaフォーム定義で、フォームのレイアウトを作成する要領でパネル(JPanelまたはPanel)に対して、Beanを貼り付け作成します。コンテナが軽量コンポーネントの場合は、JPanel、重量コンポーネントの場合は、Panelを使います。
新規に複合Beanを作成する場合は、Pure Javaプロジェクトの新規作成または、Apdesignerのメニューバーから[ファイル] > [新規] > [その他]を選択します。[新規]ダイアログボックスのツリーから[Java] > [GUI] > [フォーム]または[アプレット]を選択します。 [フォーム情報]または[アプレット情報]ページでソースを格納するフォルダとクラスのパッケージ名を指定します。軽量コンポーネントまたは重量コンポーネントの指定は、[Javaフォームタイプ]または[アプレットタイプ]で選択します。プロパティなどの追加は、新規作成後に、BeanInfo定義で行います。レイアウトの更新は、新規作成した資産を選択し、コンテキストメニューの[アプリケーションから開く] > [グラフィカルエディタ]を選択することで起動されるJavaフォーム定義で行います。なお、プロジェクトの新規作成時に表示される[選択]ページの[JavaBeans]は、単体Beanまたは不可視Beanを作成するためのページです。[フォーム]を選択するか、[コード生成は行わない]を選択してページを終了してから通常のフォーム作成を行います。


目次 索引 前ページ次ページ

All Rights Reserved, Copyright (C) 富士通株式会社 1998-2006