Chinaunix首页 | 论坛 | 博客
  • 博客访问: 199382
  • 博文数量: 163
  • 博客积分: 4010
  • 博客等级: 上校
  • 技术积分: 1720
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-08 11:41
文章分类

全部博文(163)

文章存档

2011年(1)

2009年(162)

我的朋友

分类: Java

2009-07-07 18:07:49

 由于JButton和JTree都已经实现了Serializable接口,因此Java Swing组件的串行化和读取是可以做到的。

  方法就是使用ObjectInputStream读取文件中的对象,使用ObjectOutputStream把对象写入文件。

  如:

    


      inport 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();
  }
  }
  }
阅读(916) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~