Interstage Studio プログラマーズガイド |
目次 索引 |
第4部 ワークベンチ利用編 | > 第9章 ユーザインタフェースを作成する |
フォームに貼り付けたBeanは、シリアライズ機能を利用して状態を保存することができます。
シリアライズ機能を利用することにより、保存したBeanの状態をほかのJavaアプリケーションで利用することができます。
Beanをシリアライズする場合の手順を以下に示します。
シリアライズしたBeanを復元するには、以下の2つの方法があります。
java.beans.Beans.instantiateメソッドの第2パラメタに渡すシリアライズしたファイル名は「.ser」を除いた名前を指定します。また、シリアライズしたファイルが保存されているフォルダのパッケージ名も指定します。例えば、シリアライズしたファイルをソースフォルダのmyapp/javaform/button1.serに保存した場合は、myapp.javaform.button1と指定します。
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フォーム編集、実行が正しく動作しなくなる可能性があります。
目次 索引 |