SaveTool.java 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. package com.hb.project4.tools;
  2. import java.awt.Color;
  3. import java.awt.event.ActionEvent;
  4. import java.awt.event.MouseEvent;
  5. import java.io.File;
  6. import java.io.FileOutputStream;
  7. import java.io.ObjectOutputStream;
  8. import java.io.Serializable;
  9. import java.util.ArrayList;
  10. import com.hb.project4.drawPanel.DrawJPanel;
  11. import com.hb.project4.shapes.SuperShape;
  12. /**
  13. * 该类用于保存当前画板中的图形
  14. * @author Administrator
  15. *时间:2008.08.04
  16. */
  17. public class SaveTool extends SuperTool {
  18. private ArrayList<ShapePropertyTool> pictureTempArray;
  19. public SaveTool(DrawJPanel j)
  20. {
  21. super(j);
  22. pictureTempArray = new ArrayList<ShapePropertyTool>();
  23. }
  24. @Override
  25. public void mouseClickedAction(MouseEvent mouseEvent) {
  26. // TODO Auto-generated method stub
  27. }
  28. @Override
  29. public void mouseDraggedAction(MouseEvent mouseEvent) {
  30. // TODO Auto-generated method stub
  31. }
  32. @Override
  33. public void mouseMovedAction(MouseEvent mouseEvent) {
  34. // TODO Auto-generated method stub
  35. }
  36. @Override
  37. public void mousePressedAction(MouseEvent mouseEvent) {
  38. // TODO Auto-generated method stub
  39. }
  40. @Override
  41. public void mouseReleasedAction(MouseEvent mouseEvent) {
  42. // TODO Auto-generated method stub
  43. }
  44. /**
  45. * 该方法用于保存shapeArray中的图形到文件file中
  46. * @param shapeArray要保存的图形的数组
  47. * @param file保存到的文件夹
  48. */
  49. public void save(ArrayList<SuperShape> shapeArray, File file) {
  50. for (SuperShape r : shapeArray)
  51. pictureTempArray.add(new ShapePropertyTool(r));
  52. try {
  53. ObjectOutputStream out = new ObjectOutputStream(
  54. new FileOutputStream(file));
  55. out.writeObject(pictureTempArray);
  56. out.flush();
  57. out.close();
  58. } catch (Exception e) {
  59. e.printStackTrace();
  60. }
  61. pictureTempArray.clear();//必须有!
  62. }
  63. }