Apdesigner プログラマーズガイド |
目次 索引 |
第3部 Apdesigner利用編 | > 第10章 Javaフォームとアプレットを定義する |
フォームに貼り付けたBeanは、シリアライズ機能を利用して状態を保存することができます。
シリアライズ機能を利用することにより、保存したBeanの状態をほかのJavaアプリケーションで利用することができます。
シリアライズ機能を利用する場合は、プロジェクトプロパティの[ビルドツール] > [JARパッケージ]にある[リソースを選択する]でシリアライズファイル(*.ser)をチェックしてください。
Beanをシリアライズする場合の手順を以下に示します。
シリアライズしたBeanを復元するには、以下の2つの方法があります。
java.beans.Beans.instantiateメソッドの第2パラメタに渡すシリアライズしたファイル名は「.ser」を除いた名前を指定します。
JavaフォームのinitUserメソッドに以下の記述を追加します。
protected void initUser() { try { Beanクラス名 フィールド名 = (Beanクラス名)java.beans.Beans.instantiate(null,"シリアライズしたファイル名"); getContentPane().add(フィールド名); } catch(Exception e) { } }
initUserメソッドで復元する場合、Beanをシリアライズしたあとで、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フォーム編集、実行が正しく動作しなくなる可能性があります。
目次 索引 |