/* * 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 mvcgrafik.controller; import java.awt.Point; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.event.MouseMotionListener; import java.util.logging.Logger; import mvcgrafik.model.Figure; import mvcgrafik.model.GrafikModel; import ohmlogger.OhmLogger; import mvcgrafik.view.GrafikView; /** * * @author le */ public class GrafikController implements MouseMotionListener, MouseListener { private GrafikView view; private GrafikModel model; private Figure figure; private Point p_old; private static Logger lg = OhmLogger.getLogger(); public GrafikController(GrafikView view, GrafikModel model) { this.view = view; this.model = model; } public void registerEvents() { view.addMouseMotionListener(this); view.addMouseListener(this); } @Override public void mouseDragged(MouseEvent evt) { if(figure == null) { lg.info("new Figure"); figure = model.addFigure(); } Point p = evt.getPoint(); if(p_old != null){ // view.drawLine(p, p_old); view.drawLine(p, p_old); } p_old = p; figure.addPoint(p); } @Override public void mouseMoved(MouseEvent e) { } @Override public void mouseClicked(MouseEvent e) { lg.info("clicked"); figure = model.addFigure(); } @Override public void mousePressed(MouseEvent e) { } @Override public void mouseReleased(MouseEvent evt) { p_old = null; figure = null; lg.info("Figure finished"); if (evt.getButton() == MouseEvent.BUTTON3) { // view.doPrint(); view.doPrint(); } } @Override public void mouseEntered(MouseEvent e) { } @Override public void mouseExited(MouseEvent e) { } }