/* * 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.controller; import java.awt.Point; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.event.MouseMotionListener; import kommunikation.transmitter.BilderKom; import kommunikation.transmitter.Figur; import kommunikation.view.GrafikView; /** * * @author le */ public class GrafikController implements MouseMotionListener, MouseListener { private GrafikView view; private BilderKom model; private Figur f; private Boolean neu; private Boolean ersterPunkt; private Point zwischenSpeicher; public GrafikController(GrafikView view, BilderKom model) { this.view = view; this.model = model; neu = true; zwischenSpeicher = new Point(); ersterPunkt = true; } public void registerEvents() { view.addMouseMotionListener(this); view.addMouseListener(this); } @Override public void mouseDragged(MouseEvent evt) { Point p = evt.getPoint(); view.drawPoint(p); f.addPoint(p); if(!ersterPunkt) { view.line(zwischenSpeicher, p); } zwischenSpeicher = p; ersterPunkt = false; } @Override public void mouseMoved(MouseEvent e) { } @Override public void mouseClicked(MouseEvent e) { } @Override public void mousePressed(MouseEvent e) { if(neu) { f = new Figur(); neu = false; } } @Override public void mouseReleased(MouseEvent evt) { if (evt.getButton() == MouseEvent.BUTTON3) { view.doPrint(); } model.addFigur(f); model.senden(f); neu = true; ersterPunkt = true; } @Override public void mouseEntered(MouseEvent e) { } @Override public void mouseExited(MouseEvent e) { } }