diff --git a/src/ChatProgramm/controller/CommandController.java b/src/ChatProgramm/controller/CommandController.java index 2f06009..90365a1 100644 --- a/src/ChatProgramm/controller/CommandController.java +++ b/src/ChatProgramm/controller/CommandController.java @@ -37,8 +37,6 @@ public CommandController(ChatView view, GrafikModel model, GrafikController cont public void registerEvents(){ view.getBtnConnect().addActionListener(this); - //ToDo: muss auf gFrame referenzieren - //view.getTfNachricht().addActionListener(this); } public void registerCommands(){ diff --git a/src/ChatProgramm/controller/commands/CommandConnect.java b/src/ChatProgramm/controller/commands/CommandConnect.java index f820ab4..99c9627 100644 --- a/src/ChatProgramm/controller/commands/CommandConnect.java +++ b/src/ChatProgramm/controller/commands/CommandConnect.java @@ -51,7 +51,6 @@ public class CommandConnect implements CommandInterface lg.info("Server ausgewählt"); try { commandSend.setTransmitter(new Server(view, model, gView)); - //commandSend.transmitterInterface = new Server(view); } catch (IOException ex) { lg.info("Die Verbindung zum Server ist Fehlgeschlagen"); } @@ -61,7 +60,6 @@ public class CommandConnect implements CommandInterface lg.info("Client ausgewählt"); try { commandSend.setTransmitter(new Client(view, model, gView)); - //commandSend.transmitterInterface = new Client(view); } catch (IOException ex) { lg.info("Die Verbindung zum Client ist Fehlgeschlagen"); diff --git a/src/ChatProgramm/controller/commands/CommandSend.java b/src/ChatProgramm/controller/commands/CommandSend.java index ca8db35..306c886 100644 --- a/src/ChatProgramm/controller/commands/CommandSend.java +++ b/src/ChatProgramm/controller/commands/CommandSend.java @@ -14,7 +14,6 @@ import ChatProgramm.util.OhmLogger; import ChatProgramm.view.ChatView; import java.util.logging.Logger; import javax.swing.JTextField; -import ChatProgramm.model.Nachricht; import ChatProgramm.view.GrafikView; /** @@ -24,10 +23,10 @@ import ChatProgramm.view.GrafikView; public class CommandSend implements CommandInterface { private static Logger lg = OhmLogger.getLogger(); - private JTextField eingabeFeld; - private String nachricht; + private GrafikView view; private GrafikModel model; + public TransmitterInterface transmitterInterface; public Server server; public Client client; @@ -47,21 +46,16 @@ public class CommandSend implements CommandInterface @Override public void execute() { - lg.info("wir sind drin"); Figur aktuelleFigur = model.getFiguren().getLast(); - if(transmitterInterface != null){ + try + { transmitterInterface.send(aktuelleFigur); + } - else{ - lg.info("Der Transmitter ist immernoch null"); + catch(Exception NullPointerExeption) + { + lg.info("Der Transmitter ist null"); } - //ToDo in dieser methode muss die Figur serialisiert werden und zum - //übermitteln bereitgestellt werden - -// if(transmitterInterface != null && !eingabeFeld.getText().isEmpty()){ -// transmitterInterface.send(eingabeFeld.getText()); -// eingabeFeld.setText(""); -// } } diff --git a/src/ChatProgramm/model/Client.java b/src/ChatProgramm/model/Client.java index 492557b..f88b4a0 100644 --- a/src/ChatProgramm/model/Client.java +++ b/src/ChatProgramm/model/Client.java @@ -4,6 +4,7 @@ */ package ChatProgramm.model; +import ChatProgramm.util.OhmLogger; import ChatProgramm.view.ChatView; import ChatProgramm.view.GrafikView; import java.io.IOException; @@ -17,9 +18,9 @@ import java.util.logging.*; */ public class Client extends Transmitter { - private static Logger lg = Logger.getLogger("netz"); + private static Logger lg = OhmLogger.getLogger(); private static final int PORT = 35000; //lt. iana port > 2¹⁵ - private static final String IP = "127.0.0.1"; + private static final String IP = "141.75.213.191"; public Client(ChatView view, GrafikModel model, GrafikView gView) throws IOException { diff --git a/src/ChatProgramm/model/GrafikModel.java b/src/ChatProgramm/model/GrafikModel.java index e5c0127..6a27a3d 100644 --- a/src/ChatProgramm/model/GrafikModel.java +++ b/src/ChatProgramm/model/GrafikModel.java @@ -2,7 +2,6 @@ * 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 ChatProgramm.model; import java.awt.Point; @@ -20,49 +19,42 @@ import java.util.List; import java.util.logging.Logger; import java.util.prefs.Preferences; import ChatProgramm.util.OhmLogger; + /** * * @author le */ -public class GrafikModel -{ - private Figur aktuelleFigur; - private ArrayList figuren; - private Preferences pref; - private static Logger lg = OhmLogger.getLogger(); - - public GrafikModel() - { - aktuelleFigur = new Figur(); - figuren = new ArrayList<>(); - } - - public void addPoint(Point p) - { - aktuelleFigur.addPoint(p); - } +public class GrafikModel { - public List getPunkte() - { - return aktuelleFigur.getPunkte(); - } - - public List getFiguren(){ - return Collections.unmodifiableList(figuren); - } - + private Figur aktuelleFigur; + private ArrayList figuren; + private Preferences pref; + private static Logger lg = OhmLogger.getLogger(); + public GrafikModel() { + aktuelleFigur = new Figur(); + figuren = new ArrayList<>(); + } + + public void addPoint(Point p) { + aktuelleFigur.addPoint(p); + } + + public void addFigure(Figur figur) { + figuren.add(figur); + } + + public List getPunkte() { + return aktuelleFigur.getPunkte(); + } + + public List getFiguren() { + return Collections.unmodifiableList(figuren); + } public void endShape() { figuren.add(aktuelleFigur); aktuelleFigur = new Figur(); } - - public void setFigur(Figur figur){ - //aktuelleFigur = figur; - figuren.add(figur); - } } - - diff --git a/src/ChatProgramm/model/Nachricht.java b/src/ChatProgramm/model/Nachricht.java deleted file mode 100644 index 12a7270..0000000 --- a/src/ChatProgramm/model/Nachricht.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * 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 ChatProgramm.model; - -/** - * - * @author ahren - */ -public class Nachricht -{ - private String nachricht; - - public Nachricht(String nachricht) - { - this.nachricht = nachricht; - } - - /** - * @return the nachricht - */ - public String getNachricht() { - return nachricht; - } - - public void setNachricht(String nachricht) { - this.nachricht = nachricht; - } -} \ No newline at end of file diff --git a/src/ChatProgramm/model/ReceiveAdapter.java b/src/ChatProgramm/model/ReceiveAdapter.java index 10c9d26..bc68d60 100644 --- a/src/ChatProgramm/model/ReceiveAdapter.java +++ b/src/ChatProgramm/model/ReceiveAdapter.java @@ -39,12 +39,10 @@ public class ReceiveAdapter implements Subscriber { } public void onNext(Figur item) { - - lg.info("Figur wurde dem Grafikmodel hinzugefügt"); - model.setFigur(item); + model.addFigure(item); gView.drawFigur(); - // evtl muss die Figur aber zuerst serialisiert werden - //view.getTxtChat().append(item.getNachricht()); + + lg.info("Figur wurde dem Grafikmodel hinzugefügt"); this.subscription.request(1); } diff --git a/src/ChatProgramm/model/Server.java b/src/ChatProgramm/model/Server.java index c769994..f0ea7aa 100644 --- a/src/ChatProgramm/model/Server.java +++ b/src/ChatProgramm/model/Server.java @@ -5,6 +5,7 @@ package ChatProgramm.model; +import ChatProgramm.util.OhmLogger; import ChatProgramm.view.ChatView; import ChatProgramm.view.GrafikView; import java.io.IOException; @@ -17,10 +18,15 @@ import java.util.logging.*; */ public class Server extends Transmitter { - private static Logger lg = Logger.getLogger("netz"); + private static Logger lg = OhmLogger.getLogger(); private static final int PORT = 35000; //lt. iana port > 2¹⁵ - + public Server(ChatView view, GrafikModel model, GrafikView gView) throws IOException { + super(view, model, gView); + connect(); + initIO(); + } + public void connect() throws IOException { try @@ -35,12 +41,5 @@ public class Server extends Transmitter { lg.warning("Timeout"+"("+timeout/1000+"s)"); } - } - public Server(ChatView view, GrafikModel model, GrafikView gView) throws IOException { - super(view, model, gView); - connect(); - initIO(); - - } } diff --git a/src/ChatProgramm/model/Transmitter.java b/src/ChatProgramm/model/Transmitter.java index 82fbf9a..d5b1194 100644 --- a/src/ChatProgramm/model/Transmitter.java +++ b/src/ChatProgramm/model/Transmitter.java @@ -76,17 +76,12 @@ public abstract class Transmitter implements Runnable, Subscriber, Transm InputStream is = socket.getInputStream(); OutputStream os = socket.getOutputStream(); - - // Bruh im ernst mann muss zuerst den writer und dann den reader initialisieren - // andersrum ist das blockiert weil die Streams von hinten nach vorne gelesen werden writer = new ObjectOutputStream(os); writer.flush(); - reader = new ObjectInputStream(is); lg.info("Reader / Writer Initialisierung abgeschlossen"); startempfangen(); - lg.info("Warte auf Nachricht"); } catch (UnsupportedEncodingException ex) { Logger.getLogger(Transmitter.class.getName()).log(Level.SEVERE, null, ex); @@ -123,7 +118,6 @@ public abstract class Transmitter implements Runnable, Subscriber, Transm if (receivedObject instanceof Figur) { lg.info("Figur erhalten"); figur = (Figur) receivedObject; - // Verarbeiten Sie die empfangene Figur } } catch (IOException ex) { Logger.getLogger(Transmitter.class.getName()).log(Level.SEVERE, null, ex); @@ -135,11 +129,7 @@ public abstract class Transmitter implements Runnable, Subscriber, Transm return figur; } -// public void disconnect (){ -// in.close(); -// out.close(); -// s.close(); -// } + @Override public void run() { diff --git a/src/ChatProgramm/model/TransmitterInterface.java b/src/ChatProgramm/model/TransmitterInterface.java index 54c0dc4..1b88ebd 100644 --- a/src/ChatProgramm/model/TransmitterInterface.java +++ b/src/ChatProgramm/model/TransmitterInterface.java @@ -4,7 +4,6 @@ */ package ChatProgramm.model; -import ChatProgramm.model.Nachricht; /** * * @author ahren diff --git a/src/ChatProgramm/view/GrafikView.java b/src/ChatProgramm/view/GrafikView.java index e153b9c..cc50f44 100644 --- a/src/ChatProgramm/view/GrafikView.java +++ b/src/ChatProgramm/view/GrafikView.java @@ -30,7 +30,7 @@ import ChatProgramm.util.OhmLogger; * * @author le */ -public class GrafikView extends JComponent implements Printable +public class GrafikView extends JComponent { private static Logger lg = OhmLogger.getLogger(); private static Dimension EINS = new Dimension(1, 1); // Dimension ist eine Klasse die width udn height hält @@ -109,44 +109,4 @@ public class GrafikView extends JComponent implements Printable }); } - - - public void doPrint() - { - HashPrintRequestAttributeSet printSet = - new HashPrintRequestAttributeSet(); - printSet.add(DialogTypeSelection.NATIVE); - PrinterJob pj = PrinterJob.getPrinterJob(); - pj.setPrintable(this); - //Dialog - if (pj.printDialog(printSet)) - { - try - { - pj.print(printSet); - } - catch (Exception ex) - { - JOptionPane.showMessageDialog(this, ex.toString()); - } - } - } - - @Override - public int print(Graphics gp, PageFormat pf, int pageIndex) throws PrinterException - { - Graphics2D g2p = (Graphics2D)gp; - if (pageIndex == 0) - { - g2p.translate(pf.getImageableX(), pf.getImageableY()); - g2p.scale(pf.getImageableWidth() / this.getWidth(), - pf.getImageableHeight() / this.getHeight()); - super.print(g2p); - return Printable.PAGE_EXISTS; - } - else - { - return Printable.NO_SUCH_PAGE; // wichtig sonst Papiervernichtung - } - } }