You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

GrafikModel.java 2.1KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. /*
  2. * To change this license header, choose License Headers in Project Properties.
  3. * To change this template file, choose Tools | Templates
  4. * and open the template in the editor.
  5. */
  6. package kommunikation.transmitter;
  7. import java.io.BufferedInputStream;
  8. import java.io.BufferedOutputStream;
  9. import java.io.File;
  10. import java.io.FileInputStream;
  11. import java.io.FileNotFoundException;
  12. import java.io.FileOutputStream;
  13. import java.io.IOException;
  14. import java.io.ObjectInputStream;
  15. import java.io.ObjectOutputStream;
  16. import java.util.ArrayList;
  17. import java.util.Collections;
  18. import java.util.List;
  19. import java.util.Observable;
  20. import java.util.logging.Logger;
  21. import kommunikation.logger.OhmLogger;
  22. /**
  23. *
  24. * @author le
  25. */
  26. public class GrafikModel extends Observable
  27. {
  28. private ArrayList<Figur> figuren;
  29. private ArrayList<Figur> figurenFremd;
  30. private static final Logger lg = OhmLogger.getLogger();
  31. public GrafikModel()
  32. {
  33. figuren = new ArrayList<>();
  34. figurenFremd = new ArrayList<>();
  35. }
  36. public void addFigurFremd(Figur f)
  37. {
  38. figurenFremd.add(f);
  39. lg.info("fremde Figur wurde hinzugefügt");
  40. }
  41. public void addFigur(Figur f)
  42. {
  43. figuren.add(f);
  44. lg.info("Figur wurde hinzugefügt");
  45. }
  46. public List<Figur> getFigur()
  47. {
  48. return Collections.unmodifiableList(figuren);
  49. }
  50. public List<Figur> getFigurFremd()
  51. {
  52. return Collections.unmodifiableList(figurenFremd);
  53. }
  54. public void speichereFiguren(File datei) throws FileNotFoundException, IOException
  55. {
  56. FileOutputStream fos = new FileOutputStream(datei);
  57. BufferedOutputStream bos = new BufferedOutputStream(fos);
  58. ObjectOutputStream oos = new ObjectOutputStream(bos);
  59. oos.writeObject(figuren);
  60. oos.flush();
  61. oos.close();
  62. }
  63. public void ladeFiguren(File dateiname) throws FileNotFoundException, IOException, ClassNotFoundException
  64. {
  65. FileInputStream fis = new FileInputStream(dateiname);
  66. BufferedInputStream buffin = new BufferedInputStream(fis);
  67. ObjectInputStream ois = new ObjectInputStream(buffin);
  68. figuren = (ArrayList<Figur>) ois.readObject();
  69. ois.close();
  70. }
  71. }