From e9941da388cb2a3603199a8483b202d929105714 Mon Sep 17 00:00:00 2001 From: ahren Date: Tue, 5 Dec 2023 12:56:25 +0100 Subject: [PATCH] Bevor Cleanup --- .gitignore | 1 + src/mvcgrafik/model/Figur.java | 47 ++++++++++++++++++++++++++++ src/mvcgrafik/model/GrafikModel.java | 31 +++++++++--------- src/mvcgrafik/view/GrafikView.java | 4 +-- 4 files changed, 67 insertions(+), 16 deletions(-) create mode 100644 src/mvcgrafik/model/Figur.java diff --git a/.gitignore b/.gitignore index 84c048a..e2cae22 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /build/ +/dist/ diff --git a/src/mvcgrafik/model/Figur.java b/src/mvcgrafik/model/Figur.java new file mode 100644 index 0000000..d46a0ef --- /dev/null +++ b/src/mvcgrafik/model/Figur.java @@ -0,0 +1,47 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template + */ + +package mvcgrafik.model; + +import java.awt.Point; +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +/** + * + * @author ahren + */ +public class Figur implements Serializable +{ + private ArrayList punkte; + + public Figur(){ + punkte = new ArrayList<>(); + } + + Figur(Figur aktuelleFigur) + { + punkte = aktuelleFigur.getPunkteArray(); + } + public void addPoint(Point p){ + punkte.add(p); + } + + public List getPunkte() + { + return Collections.unmodifiableList(punkte); + } + + public ArrayList getPunkteArray() + { + return punkte; + } + public void clear(){ + punkte.clear(); + } + +} diff --git a/src/mvcgrafik/model/GrafikModel.java b/src/mvcgrafik/model/GrafikModel.java index 0a92f44..f2f467b 100644 --- a/src/mvcgrafik/model/GrafikModel.java +++ b/src/mvcgrafik/model/GrafikModel.java @@ -17,35 +17,37 @@ import java.io.ObjectOutputStream; import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.logging.Logger; import java.util.prefs.Preferences; - +import mvcgrafik.util.OhmLogger; /** * * @author le */ public class GrafikModel { - private ArrayList punkte; - private ArrayList figuren; - private Preferences pref; + private Figur aktuelleFigur; + private ArrayList figuren; + private Preferences pref; + private static Logger lg = OhmLogger.getLogger(); public GrafikModel() { - punkte = new ArrayList<>(); + aktuelleFigur = new Figur(); figuren = new ArrayList<>(); } public void addPoint(Point p) { - punkte.add(p); + aktuelleFigur.addPoint(p); } public List getPunkte() { - return Collections.unmodifiableList(punkte); + return aktuelleFigur.getPunkte(); } - public List getFiguren(){ + public List getFiguren(){ return Collections.unmodifiableList(figuren); } @@ -86,13 +88,14 @@ public class GrafikModel if (daten instanceof ArrayList liste) { figuren = liste; - } - + //lg.info(figuren.getFirst().getPunkte().getFirst().toString()); + } + lg.info("Einlesen ende"); } public void endShape() { - figuren.add(new ArrayList(punkte)); - punkte.clear(); + figuren.add(aktuelleFigur); + aktuelleFigur = new Figur(); } /** @@ -114,6 +117,6 @@ public class GrafikModel { pref.put(lastDirectory, lastAdress); } - - } + + diff --git a/src/mvcgrafik/view/GrafikView.java b/src/mvcgrafik/view/GrafikView.java index 8d050e4..aad37ee 100644 --- a/src/mvcgrafik/view/GrafikView.java +++ b/src/mvcgrafik/view/GrafikView.java @@ -70,6 +70,7 @@ public class GrafikView extends JComponent implements Printable * Jedes mal wenn die Maus los gelassen wird, wird dder aktuelle Pfad gespeichert * @param g */ + @Override public void paintComponent(Graphics g) { if (model == null) return; @@ -79,9 +80,8 @@ public class GrafikView extends JComponent implements Printable model.getFiguren().forEach(figuren-> { - drawPath(figuren,g2); + drawPath(figuren.getPunkte(),g2); }); - } public void drawPath(List path, Graphics2D g2){