You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

GrafikController.java 1.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. /*
  2. * To change this license header, choose License Headers in Project Properties.
  3. * To change this template file, choose Tools | Templates
  4. * and open the template in the editor.
  5. */
  6. package mvcgrafik.controller;
  7. import java.awt.Point;
  8. import java.awt.event.MouseEvent;
  9. import java.awt.event.MouseListener;
  10. import java.awt.event.MouseMotionListener;
  11. import java.util.logging.Logger;
  12. import mvcgrafik.model.Figure;
  13. import mvcgrafik.model.GrafikModel;
  14. import mvcgrafik.logger.OhmLogger;
  15. import mvcgrafik.view.GrafikView;
  16. /**
  17. *
  18. * @author le
  19. */
  20. public class GrafikController implements MouseMotionListener, MouseListener
  21. {
  22. private GrafikView view;
  23. private GrafikModel model;
  24. private Figure figure;
  25. private Point p_old;
  26. private static Logger lg = OhmLogger.getLogger();
  27. public GrafikController(GrafikView view, GrafikModel model)
  28. {
  29. this.view = view;
  30. this.model = model;
  31. }
  32. public void registerEvents()
  33. {
  34. view.addMouseMotionListener(this);
  35. view.addMouseListener(this);
  36. }
  37. @Override
  38. public void mouseDragged(MouseEvent evt)
  39. {
  40. if(figure == null)
  41. {
  42. lg.info("new Figure");
  43. figure = model.addFigure();
  44. }
  45. Point p = evt.getPoint();
  46. if(p_old != null){
  47. view.drawLine(p, p_old);
  48. }
  49. p_old = p;
  50. figure.addPoint(p);
  51. }
  52. @Override
  53. public void mouseMoved(MouseEvent e)
  54. {
  55. }
  56. @Override
  57. public void mouseClicked(MouseEvent e)
  58. {
  59. lg.info("clicked");
  60. figure = model.addFigure();
  61. }
  62. @Override
  63. public void mousePressed(MouseEvent e)
  64. {
  65. }
  66. @Override
  67. public void mouseReleased(MouseEvent evt)
  68. {
  69. p_old = null;
  70. figure = null;
  71. lg.info("Figure finished");
  72. if (evt.getButton() == MouseEvent.BUTTON3)
  73. {
  74. // view.doPrint();
  75. view.doPrint();
  76. }
  77. }
  78. @Override
  79. public void mouseEntered(MouseEvent e)
  80. {
  81. }
  82. @Override
  83. public void mouseExited(MouseEvent e)
  84. {
  85. }
  86. }