Browse Source

Bevor Cleanup

Jens
ahren 1 year ago
parent
commit
e9941da388

+ 1
- 0
.gitignore View File

/build/ /build/
/dist/

+ 47
- 0
src/mvcgrafik/model/Figur.java View File

/*
* 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();
}
}

+ 17
- 14
src/mvcgrafik/model/GrafikModel.java View File

import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.logging.Logger;
import java.util.prefs.Preferences; import java.util.prefs.Preferences;
import mvcgrafik.util.OhmLogger;
/** /**
* *
* @author le * @author le
*/ */
public class GrafikModel public class GrafikModel
{ {
private ArrayList<Point> punkte;
private ArrayList<ArrayList> figuren;
private Preferences pref;
private Figur aktuelleFigur;
private ArrayList<Figur> figuren;
private Preferences pref;
private static Logger lg = OhmLogger.getLogger();
public GrafikModel() public GrafikModel()
{ {
punkte = new ArrayList<>();
aktuelleFigur = new Figur();
figuren = new ArrayList<>(); figuren = new ArrayList<>();
} }
public void addPoint(Point p) public void addPoint(Point p)
{ {
punkte.add(p);
aktuelleFigur.addPoint(p);
} }


public List<Point> getPunkte() public List<Point> getPunkte()
{ {
return Collections.unmodifiableList(punkte);
return aktuelleFigur.getPunkte();
} }
public List<ArrayList> getFiguren(){
public List<Figur> getFiguren(){
return Collections.unmodifiableList(figuren); return Collections.unmodifiableList(figuren);
} }
if (daten instanceof ArrayList liste) if (daten instanceof ArrayList liste)
{ {
figuren = liste; figuren = liste;
}
//lg.info(figuren.getFirst().getPunkte().getFirst().toString());
}
lg.info("Einlesen ende");
} }


public void endShape() { public void endShape() {
figuren.add(new ArrayList<Point>(punkte));
punkte.clear();
figuren.add(aktuelleFigur);
aktuelleFigur = new Figur();
} }
/** /**
{ {
pref.put(lastDirectory, lastAdress); pref.put(lastDirectory, lastAdress);
} }

} }



+ 2
- 2
src/mvcgrafik/view/GrafikView.java View File

* Jedes mal wenn die Maus los gelassen wird, wird dder aktuelle Pfad gespeichert * Jedes mal wenn die Maus los gelassen wird, wird dder aktuelle Pfad gespeichert
* @param g * @param g
*/ */
@Override
public void paintComponent(Graphics g) public void paintComponent(Graphics g)
{ {
if (model == null) return; if (model == null) return;
model.getFiguren().forEach(figuren-> model.getFiguren().forEach(figuren->
{ {
drawPath(figuren,g2);
drawPath(figuren.getPunkte(),g2);
}); });
} }
public void drawPath(List<Point> path, Graphics2D g2){ public void drawPath(List<Point> path, Graphics2D g2){

Loading…
Cancel
Save