Bevor Cleanup

This commit is contained in:
ahren 2023-12-05 12:56:25 +01:00
parent b3d25ed538
commit e9941da388
4 changed files with 67 additions and 16 deletions

1
.gitignore vendored
View File

@ -1 +1,2 @@
/build/
/dist/

View File

@ -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<Point> punkte;
public Figur(){
punkte = new ArrayList<>();
}
Figur(Figur aktuelleFigur)
{
punkte = aktuelleFigur.getPunkteArray();
}
public void addPoint(Point p){
punkte.add(p);
}
public List<Point> getPunkte()
{
return Collections.unmodifiableList(punkte);
}
public ArrayList<Point> getPunkteArray()
{
return punkte;
}
public void clear(){
punkte.clear();
}
}

View File

@ -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<Point> punkte;
private ArrayList<ArrayList> figuren;
private Figur aktuelleFigur;
private ArrayList<Figur> 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<Point> getPunkte()
{
return Collections.unmodifiableList(punkte);
return aktuelleFigur.getPunkte();
}
public List<ArrayList> getFiguren(){
public List<Figur> 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<Point>(punkte));
punkte.clear();
figuren.add(aktuelleFigur);
aktuelleFigur = new Figur();
}
/**
@ -114,6 +117,6 @@ public class GrafikModel
{
pref.put(lastDirectory, lastAdress);
}
}

View File

@ -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<Point> path, Graphics2D g2){