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

第3部 Apdesigner利用編> 第10章 Javaフォームとアプレットを定義する

10.8 Beanをシリアライズする

フォームに貼り付けたBeanは、シリアライズ機能を利用して状態を保存することができます。

シリアライズ機能を利用することにより、保存したBeanの状態をほかのJavaアプリケーションで利用することができます。

シリアライズ機能を利用する場合は、プロジェクトプロパティの[ビルドツール] > [JARパッケージ]にある[リソースを選択する]でシリアライズファイル(*.ser)をチェックしてください。

Beanをシリアライズする場合の手順を以下に示します。

  1. Bean上でマウスの右ボタンをクリックし、表示されるコンテキストメニューから[シリアライズ]を選択します。
  2. [シリアライズファイルの指定]画面が表示されます。シリアライズファイルの名前を指定し、保存します。シリアライズファイルは、プロジェクトフォルダ内に保存する必要があります。

シリアライズしたBeanを復元するには、以下の2つの方法があります。

java.beans.Beans.instantiateメソッドの第2パラメタに渡すシリアライズしたファイル名は「.ser」を除いた名前を指定します。

+initUserメソッドで復元する

JavaフォームのinitUserメソッドに以下の記述を追加します。

[initUserメソッドでBeanを復元]

 protected void initUser() {
   try {
      Beanクラス名  フィールド名 = 
        (Beanクラス名)java.beans.Beans.instantiate(null,"シリアライズしたファイル名");
      getContentPane().add(フィールド名);
   }
   catch(Exception e) {
   }
 }

initUserメソッドで復元する場合、Beanをシリアライズしたあとで、Javaフォーム上から削除しておく必要があります。

+Javaフォーム定義情報で復元する

Javaフォームに貼り付けたBeanは、Javaフォーム定義情報にある、Javaフォームの初期化処理でインスタンス化されます。

Javaフォーム定義情報でBeanを復元

 protected void _cdInitForm() {
       try {
                :
                //@@ClassField Initialization start
                Beanクラス名  フィールド名 = new Beanクラス名(); //Beanをインスタンス化します。
                :
                //@@ClassField Initialization end
                :
       }
       catch(Exception e) {
       }
 }

上記のインスタンス化している記述を以下のように変更します。

 protected void _cdInitForm() {
       try {
                :
                //@@ClassField Initialization start
                Beanクラス名  フィールド名 =
                 (Beanクラス名)java.beans.Beans.instantiate(null, "シリアライズしたファイル名");
                getContentPane().add(フィールド名);
                //@@ClassField Initialization end
                :
       }
       catch(Exception e) {
       }
 }

Javaフォーム定義情報は、シリアライズしたBeanの復元以外の目的で変更しないでください。以降のJavaフォーム編集、実行が正しく動作しなくなる可能性があります。

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

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