Java swing组件的串行化方法

由于JButton和JTree都已经实现了Serializable接口,因此Java swing组件的串行化和读取是可以做到的。Java swing组件串行化方法就是使用ObjectInputStream读取文件中的对象,使用ObjectOutputStream把对象写入文件。

如:

 
 
 
  1. import java.io.FileInputStream;  
  2. import java.io.FileNotFoundException;  
  3. import java.io.FileOutputStream;  
  4. import java.io.IOException;  
  5. import java.io.ObjectInputStream;  
  6. import java.io.ObjectOutputStream;  
  7.  
  8. import javax.swing.JButton;  
  9. import javax.swing.JTree;  
  10.  
  11. public class Save {  
  12.  
  13. public static void main(String[] args) {  
  14.  
  15. // Write  
  16. JButton button = new JButton("TEST Button");  
  17. JTree tree = new JTree();  
  18. try {  
  19. ObjectOutputStream outForButton = new ObjectOutputStream(  
  20. new FileOutputStream("button"));  
  21. outForButton.writeObject(button);  
  22. outForButton.close();  
  23. ObjectOutputStream outForTree = new ObjectOutputStream(  
  24. new FileOutputStream("tree"));  
  25. outForTree.writeObject(tree);  
  26. outForTree.close();  
  27. } catch (FileNotFoundException e) {  
  28. e.printStackTrace();  
  29. } catch (IOException e) {  
  30. e.printStackTrace();  
  31. }  
  32. // Read  
  33.  
  34. try {  
  35. ObjectInputStream inForButton = new ObjectInputStream(  
  36. new FileInputStream("button"));  
  37. JButton buttonReaded = (JButton) inForButton.readObject();  
  38.  
  39. ObjectInputStream inForTree = new ObjectInputStream(  
  40. new FileInputStream("tree"));  
  41. JTree treeReaded = (JTree) inForTree.readObject();  
  42. } catch (FileNotFoundException e) {  
  43. e.printStackTrace();  
  44. } catch (IOException e) {  
  45. e.printStackTrace();  
  46. } catch (ClassNotFoundException e) {  
  47. // TODO Auto-generated catch block  
  48. e.printStackTrace();  
  49. }  
  50.  
  51. }  
  52.  

以上是Java swing组件的串行化和读取是可以做到的,一点小小的总结,希望能对大家有所帮助。

【编辑推荐】

  1. 动态语言是否将会挽救Swing
  2. 用TableModel框架简化Swing开发
  3. Swing模型过滤技术详解
  4. Java Swing开发的一些热点
  5. 使用Swing动态界面设计技术透析
THE END