由于JButton和JTree都已经实现了Serializable接口,因此Java swing组件的串行化和读取是可以做到的。Java swing组件串行化方法就是使用ObjectInputStream读取文件中的对象,使用ObjectOutputStream把对象写入文件。
如:
- import java.io.FileInputStream;
- import java.io.FileNotFoundException;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.io.ObjectInputStream;
- import java.io.ObjectOutputStream;
- import javax.swing.JButton;
- import javax.swing.JTree;
- public class Save {
- public static void main(String[] args) {
- // Write
- JButton button = new JButton("TEST Button");
- JTree tree = new JTree();
- try {
- ObjectOutputStream outForButton = new ObjectOutputStream(
- new FileOutputStream("button"));
- outForButton.writeObject(button);
- outForButton.close();
- ObjectOutputStream outForTree = new ObjectOutputStream(
- new FileOutputStream("tree"));
- outForTree.writeObject(tree);
- outForTree.close();
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
- // Read
- try {
- ObjectInputStream inForButton = new ObjectInputStream(
- new FileInputStream("button"));
- JButton buttonReaded = (JButton) inForButton.readObject();
- ObjectInputStream inForTree = new ObjectInputStream(
- new FileInputStream("tree"));
- JTree treeReaded = (JTree) inForTree.readObject();
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- } catch (ClassNotFoundException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
以上是Java swing组件的串行化和读取是可以做到的,一点小小的总结,希望能对大家有所帮助。
【编辑推荐】