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 2.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  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.KeyEvent;
  9. import java.awt.event.KeyListener;
  10. import java.awt.event.MouseEvent;
  11. import java.awt.event.MouseListener;
  12. import java.awt.event.MouseMotionListener;
  13. import java.io.IOException;
  14. import java.util.logging.Level;
  15. import java.util.logging.Logger;
  16. import mvcgrafik.model.Figure;
  17. import mvcgrafik.model.GrafikModel;
  18. import mvcgrafik.view.GrafikView;
  19. /**
  20. *
  21. * @author le
  22. */
  23. public class GrafikController implements MouseMotionListener, MouseListener, KeyListener
  24. {
  25. private GrafikView view;
  26. private GrafikModel model;
  27. private Figure figure;
  28. private Point p_old;
  29. public GrafikController(GrafikView view, GrafikModel model)
  30. {
  31. this.view = view;
  32. this.model = model;
  33. }
  34. public void registerEvents()
  35. {
  36. view.addMouseMotionListener(this);
  37. view.addMouseListener(this);
  38. }
  39. @Override
  40. public void mouseDragged(MouseEvent evt)
  41. {
  42. Point p = evt.getPoint();
  43. if(p_old != null){
  44. view.drawLine(p, p_old);
  45. }
  46. p_old = p;
  47. figure.addPoint(p);
  48. }
  49. @Override
  50. public void mouseMoved(MouseEvent e)
  51. {
  52. }
  53. @Override
  54. public void mouseClicked(MouseEvent e)
  55. {
  56. figure = model.addFigure();
  57. }
  58. @Override
  59. public void mousePressed(MouseEvent e)
  60. {
  61. }
  62. @Override
  63. public void mouseReleased(MouseEvent evt)
  64. {
  65. p_old = null;
  66. if (evt.getButton() == MouseEvent.BUTTON3)
  67. {
  68. view.doPrint();
  69. }
  70. }
  71. @Override
  72. public void mouseEntered(MouseEvent e)
  73. {
  74. }
  75. @Override
  76. public void mouseExited(MouseEvent e)
  77. {
  78. }
  79. @Override
  80. public void keyTyped(KeyEvent e)
  81. {
  82. }
  83. @Override
  84. public void keyPressed(KeyEvent e)
  85. {
  86. if(e.getKeyCode() == KeyEvent.VK_S)
  87. {
  88. try
  89. {
  90. model.speichereDatei("TEST");
  91. }
  92. catch (IOException ex)
  93. {
  94. Logger.getLogger(GrafikController.class.getName()).log(Level.SEVERE, null, ex);
  95. }
  96. }
  97. if(e.getKeyCode() == KeyEvent.VK_O)
  98. {
  99. try
  100. {
  101. model.ladeDatei("TEST");
  102. }
  103. catch (IOException ex)
  104. {
  105. Logger.getLogger(GrafikController.class.getName()).log(Level.SEVERE, null, ex);
  106. }
  107. catch (ClassNotFoundException ex)
  108. {
  109. Logger.getLogger(GrafikController.class.getName()).log(Level.SEVERE, null, ex);
  110. }
  111. }
  112. }
  113. @Override
  114. public void keyReleased(KeyEvent e)
  115. {
  116. }
  117. }