Browse Source

Läuft muss nurnoch aufgeräumt werden

Jens
Jens Schuhmann 1 year ago
parent
commit
0e71917727

+ 2
- 60
src/ChatProgramm/model/GrafikModel.java View File

return Collections.unmodifiableList(figuren); return Collections.unmodifiableList(figuren);
} }
/**
* Persistenz via Serialisierung
* @param dateiname
* @throws FileNotFoundException
* @throws IOException
*/
public void speicherePunkte(String dateiname) throws FileNotFoundException, IOException
{
// an Preferences denken!!
FileOutputStream fos = new FileOutputStream(dateiname);
//wichtig Puffer -> Performance
BufferedOutputStream bos = new BufferedOutputStream(fos);
//Serialisierung
ObjectOutputStream oos = new ObjectOutputStream(bos);
oos.writeObject(figuren);
oos.flush(); // Puffer
oos.close();
}
public void lesePunkte(String dateiname) throws FileNotFoundException, IOException, ClassNotFoundException
{
// an Preferences denken!!
FileInputStream fis = new FileInputStream(dateiname);
//wichtig Puffer -> Performance
BufferedInputStream bis = new BufferedInputStream(fis);
//Serialisierung
ObjectInputStream ois = new ObjectInputStream(bis);
Object daten = ois.readObject(); // Achtung
// if (daten instanceof ArrayList)
// {
// punkte = (ArrayList<Point>)daten;
// }
//eleganter
if (daten instanceof ArrayList liste)
{
figuren = liste;
}
}



public void endShape() { public void endShape() {
figuren.add(aktuelleFigur); figuren.add(aktuelleFigur);
} }
public void setFigur(Figur figur){ public void setFigur(Figur figur){
aktuelleFigur = figur;
//aktuelleFigur = figur;
figuren.add(figur); figuren.add(figur);
} }
/**
* Bestimmt die Adresse des zuletzt besuchten Ordners
* @return letzter Ordner
*/
public String getPref()
{
pref = Preferences.userNodeForPackage(getClass());
return pref.get("lastDirectory", null);
}


/**
* Setzt die Preferenz zu dem zuletzt besuchten Ordner
* @param lastDirectory Bezeichner "lastDirectory"
* @param lastAdress Adresse des zuletzt besuchten Ordners
*/
public void putPref(String lastDirectory, String lastAdress)
{
pref.put(lastDirectory, lastAdress);
}
} }





+ 1
- 1
src/ChatProgramm/model/ReceiveAdapter.java View File

lg.info("Figur wurde dem Grafikmodel hinzugefügt"); lg.info("Figur wurde dem Grafikmodel hinzugefügt");
model.setFigur(item); model.setFigur(item);
gView.drawPoint();
gView.drawFigur();
// evtl muss die Figur aber zuerst serialisiert werden // evtl muss die Figur aber zuerst serialisiert werden
//view.getTxtChat().append(item.getNachricht()); //view.getTxtChat().append(item.getNachricht());
this.subscription.request(1); this.subscription.request(1);

+ 11
- 2
src/ChatProgramm/view/GrafikView.java View File

* Zeichnet den aktuellen Pfad (solange die maus gedrückt gehalten wird) * Zeichnet den aktuellen Pfad (solange die maus gedrückt gehalten wird)
* @param p -> Der aktuelle punkt als x-y-Koordinate * @param p -> Der aktuelle punkt als x-y-Koordinate
*/ */
public void drawFigur()
{
Graphics2D g2 = (Graphics2D)this.getGraphics(); // gefährlich!

drawPath(model.getFiguren().getLast().getPunkte(),g2);

g2.dispose(); //SEEEEHHHHRRRR WICHTIG!!!!!!!
}
public void drawPoint() public void drawPoint()
{ {
Graphics2D g2 = (Graphics2D)this.getGraphics(); // gefährlich! Graphics2D g2 = (Graphics2D)this.getGraphics(); // gefährlich!


drawPath(model.getPunkte(),g2); drawPath(model.getPunkte(),g2);


g2.dispose(); //SEEEEHHHHRRRR WICHTIG!!!!!!!
g2.dispose(); //SEEEEHHHHRRRR WICHTIG!!!!!!!
} }
}); });
} }
public void drawPath(List<Point> path, Graphics2D g2){
public void drawPath(List<Point> path, Graphics2D g2){
from = path.getFirst(); from = path.getFirst();
to = null; to = null;

Loading…
Cancel
Save