/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package kommunikation.transmitter; import java.io.File; import java.io.IOException; import java.util.List; import java.util.Observable; import java.util.Observer; import java.util.function.Supplier; import java.util.logging.Level; import java.util.logging.Logger; import kommunikation.logger.OhmLogger; /** * * @author nobody */ public class BilderKom extends Observable implements Observer { protected static final Logger lg = OhmLogger.getLogger(); private GrafikModel grafik; private Transmitter trans; public BilderKom(int modus ) { trans = new Transmitter(modus); grafik = new GrafikModel(); } public void registerEvents() { trans.addObserver(this); } public GrafikModel getModel() { return grafik; } public void start() { trans.start(); } public void setIpPort(String ip,int port) { trans.setIpPort(ip, port); } public void senden(Object nachricht) { trans.senden(nachricht); } public Object getNachricht() { return trans.getNachricht(); } public void addFigur(Figur f) { grafik.addFigur(f); } public void addFigurFremd(Figur f) { grafik.addFigurFremd(f); } public List getFigur() { return grafik.getFigur(); } public void speichereFiguren(File datei) { try { grafik.speichereFiguren(datei); } catch (IOException ex) { Logger.getLogger(BilderKom.class.getName()).log(Level.SEVERE, null, ex); } } @SuppressWarnings("unchecked") public void ladeFiguren(File dateiname) { try { grafik.ladeFiguren(dateiname); } catch (IOException | ClassNotFoundException ex) { lg.severe((Supplier) ex); } } @Override public void update(Observable o, Object arg) { this.setChanged(); this.notifyObservers(); } }