Java读取并保存GUI元素

时间:2011-11-26 19:22:37

标签: java swing user-interface elements

我有一个关于访问GUI元素的问题。例如,在Java上有一个简单的GUI程序,如何在树上读取和保存Swing GUI元素层次结构(例如包括主窗口,框架,按钮,文本字段,组合框等)。

1 个答案:

答案 0 :(得分:4)

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);