クラス名を使用したシリアライズJavaBeansのインスタンス化

元のコンポーネントと同じ名前の .serファイルを作成した場合は、<component>.class.getName()の引数を使用するとBeanをインスタンス化できます。

オブジェクトの元のクラスがすでにロードされている場合は、UIエディタにシリアライズされたインスタンスが表示されないことがあります。ただし、コードの実行とデバッグは、通常どおりに機能します。

たとえば、Beans.instantiate()を使用し、クラス名と .serファイル名が同一のシリアライズされたボタンBeanをインスタンス化する場合、コードは次のように表示されます。

public class ButtonBoxFrame extends JFrame {
XYLayout xYLayout1;
Button button1;
Button button2;
Button button3;
public ButtonBoxFrame() {
try {
jbInit();
}
catch (Exception e) {
e.printStackTrace();
}
}
private void jbInit() throws Exception {
xYLayout1 = (XYLayout)
Beans.instantiate(getClass().getClassLoader(),
XYLayout.class.getName());
button1 = (Button)Beans.instantiate(getClass().getClassLoader(),
Button.class.getName());
button2 = (ButtonControl)
Beans.instantiate(getClass().getClassLoader(),
Button.class.getName());
button3 = (ButtonControl)
Beans.instantiate(getClass().getClassLoader(),
Button.class.getName());
...
}

newキーワードを使用してオブジェクトをインスタンス化するコードは、次のようになります。

public class ButtonBoxFrame extends JFrame {
XYLayout xYLayout1 = new XYLayout();
Button button1 = new Button;
Button button2 = new Button;
Button button3 = new Button;

public ButtonBoxFrame() {
try {
jbInit();
}
catch (Exception e) {
e.printStackTrace();
}
}

private void jbInit() throws Exception{
...
}

シリアライズされたJavaBeansのインスタンス化の方法
カスタム・ファイル名を使用したシリアライズJavaBeansのインスタンス化

JavaBeansについて
JavaBeansのシリアライズについて
シリアライズJavaBeansのインスタンスの作成