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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  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 ohmlogger.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. view.drawLine(p, p_old);
  49. }
  50. p_old = p;
  51. figure.addPoint(p);
  52. }
  53. @Override
  54. public void mouseMoved(MouseEvent e)
  55. {
  56. }
  57. @Override
  58. public void mouseClicked(MouseEvent e)
  59. {
  60. lg.info("clicked");
  61. figure = model.addFigure();
  62. }
  63. @Override
  64. public void mousePressed(MouseEvent e)
  65. {
  66. }
  67. @Override
  68. public void mouseReleased(MouseEvent evt)
  69. {
  70. p_old = null;
  71. figure = null;
  72. lg.info("Figure finished");
  73. if (evt.getButton() == MouseEvent.BUTTON3)
  74. {
  75. // view.doPrint();
  76. view.doPrint();
  77. }
  78. }
  79. @Override
  80. public void mouseEntered(MouseEvent e)
  81. {
  82. }
  83. @Override
  84. public void mouseExited(MouseEvent e)
  85. {
  86. }
  87. }