手順 6 : カスタム コントロールを作成する
この手順では、新しいカスタム コントロールを作成します。そのコントロールに、前にインポートしたいずれかのコントロールのメソッドを呼び出すメソッドを追加します。
- [プロジェクト・エクスプローラー] ビューで、ServicesWeb/src/controls フォルダを右クリックします。
- [新規|カスタム コントロール] をクリックします。
- [新しいコントロール] ダイアログの [コントロール名] ボックスに MailingListControl.java と入力して、[終了] をクリックします。
![](images/ncic.gif)
上記の手順によって、controls フォルダの中に次の 2 つの Java ファイルが作成されました。
- MailingListControl.java - コントロール インタフェース ファイル
- MailingListControlImpl.java - MailingListControl.java を実装するコントロール実装ファイル
この時点で、これらのファイルにはデフォルトのフレームワークのみが含まれています。以下の手順でメソッドを追加します。
- [プロジェクト・エクスプローラー] ビューで、ServicesWeb/Java リソース/src/controls/MailingListControlImpl.java をダブルクリックします。
- ソース エディタで、MailingListControlImpl.java のソース コード内の任意の場所を右クリックして、[挿入|コントロール] をクリックします。
- [コントロールの選択] ダイアログで、[CustomerControl - controls] を選択し、[OK] をクリックします。
- 追加するコードをサポートするために、次の import 文を追加します。
import model.Customer;
- customerControl の変数宣言の後に、次のメソッドを追加します。
public Customer[] getLocalCustomers()
{
return customerControl.getCustomersByState("CA");
}
- このクラスで新しいメソッドを作成しましたが、このクラスが実装しているインタフェース MailingListControl.java には、対応する抽象メソッド定義がまだ存在していません。
この状態を修正するには、メソッド (getLocalCustomers) の名前のどこかにエディタのカーソルを置いて、〔Ctrl〕+〔1〕を押します。[スーパータイプ 'MailingListControl' で作成します。] を選択して〔Enter〕を押します。
![](images/supercreate.gif)
エディタに MailingListControl.java が表示されます。新しいメソッド定義が配置されています。
- 〔Ctrl〕+〔Shift〕+〔S〕を押して編集したすべてのファイルを保存します。
このコントロールの getLocalCustomers メソッドは、インポートされたコントロールを使用して、指定された州のすべての顧客をサンプル データベースに問い合わせます。この例では、州をカリフォルニア州にハードコード化しています。データベースから返されたデータは、Customer オブジェクトの配列として呼び出し側メソッドに返されます。