Swing应用程序已经组织在树中. JFrame是根目录,可以通过以下方式访问子级:
Component[] components1 = mFrame.getContentPane().getComponents();
每个组件都有子组件,您可以通过这些子组件获得:
// Assuming component is a container
((Container)component).getComponents();
将这些元素保存到文件中很容易.这是个不错的article,让您步入正轨.
编辑流的美丽之处在于您可以像使用套接字一样使用文件:)
因此,将ComponentSerializer组件序列化为文件而不是套接字需要进行0次更改:)
假设您有一个要保存的文件/从文件读取的JFrame,请执行以下操作:
OutputStream output = new FileOutputStream("FileName.bin");
JFrame myFrame = new JFrame();
ComponentSerializer serializer = new ComponentSerializer();
serializer.write(myFrame, output);
// Reading from file
InputStream in = new FileInputStream("FileName.bin");
ComponentSerializer serializer = new ComponentSerializer();
JFrame myFrame = (JFrame) serializer.read(in);
myFrame.setVisible(true);