一个JAVA AWT的小问题,谢谢大侠们支持下

时间:2022-01-14 17:36:53
大概意思是这样的,
javax.swing.JInternalFrame DesignWindow = new javax.swing.JInternalFrame();
DesignWindow.getContentPane().setLayout(new java.awt.FlowLayout());
Component newComponent1 = (Component)Class.forName("javax.swing.JButton").newInstance();
Component newComponent2 = (Component)Class.forName("javax.swing.JButton").newInstance();
Component newComponent3 = (Component)Class.forName("javax.swing.JButton").newInstance();
DesignWindow.getContentPane().add(newComponent1);
DesignWindow.getContentPane().add(newComponent2);
DesignWindow.getContentPane().add(newComponent3);
DesignWindow.validate();
我动态的在这个ContentPane中加入了3个对象,现在想将对象生成资源代码保持到文件中,象下面这样的
public class Test extends javax.swing.JFrame{
    public Test() {
             setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
             setResizable(true);
             setVisible(true);
             getContentpane().setLayOut(new java.awt.FlowLayout());
             setBounds(0, 0, 400, 400);

             JButton1 = new javax.swing.JButton();
             JButton1.setAlignmentX(0.5f);
             JButton1.setText("Submit");
             add(JButton1);

             JButton2 = new javax.swing.JButton();
             JButton2.setAlignmentX(0.5f);
             JButton2.setText("Submit");
             add(JButton2);



             JButton3 = new javax.swing.JButton();
             JButton3.setAlignmentX(0.5f);
             JButton3.setText("Submit");
             add(JButton3);

             validate();
}

private javax.swing.JButton JButton1;
private javax.swing.JButton JButton2;
private javax.swing.JButton JButton3;


public static void main(String args[])
{
    new Test();
}

}

这种能能重新创建的源代码,哪位大侠知道的,指点一下  谢谢

 

8 个解决方案

#1


为什么是反射呢?
Component newComponent1 = (Component)Class.forName("javax.swing.JButton").newInstance();

完全没有必要吗。

#2


实际应用中的场景就是这样的,呵呵,所以我举例子也是这样的

#3


没人知道吗?  帮想想思路啊

#4


该回复于2010-08-27 17:18:54被版主删除

#5


哥,能像
import javax.swing.*;

...
这样吗?看得我眼都瞎了。。

#6


晕,把包import进去啊

#7


不知道你到底要些什么,下面的代码就增加了三个按钮

#8


你是想序列化你的Bean为文件, 等到用的时候再反序列化回来?

#1


为什么是反射呢?
Component newComponent1 = (Component)Class.forName("javax.swing.JButton").newInstance();

完全没有必要吗。

#2


实际应用中的场景就是这样的,呵呵,所以我举例子也是这样的

#3


没人知道吗?  帮想想思路啊

#4


该回复于2010-08-27 17:18:54被版主删除

#5


哥,能像
import javax.swing.*;

...
这样吗?看得我眼都瞎了。。

#6


晕,把包import进去啊

#7


不知道你到底要些什么,下面的代码就增加了三个按钮

#8


你是想序列化你的Bean为文件, 等到用的时候再反序列化回来?