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.

EierUhr.java 1.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  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 EierUhrKomponente;
  7. import java.awt.Graphics;
  8. import java.net.Socket;
  9. import java.util.concurrent.CopyOnWriteArrayList;
  10. import java.util.logging.Logger;
  11. import javax.swing.JComponent;
  12. import javax.swing.JFrame;
  13. import javax.swing.WindowConstants;
  14. import javax.swing.JOptionPane;
  15. import javax.swing.JPanel;
  16. import javax.swing.UIManager;
  17. import ohmlogger.OhmLogger;
  18. /**
  19. * Builder Class
  20. * @author le
  21. */
  22. public class EierUhr extends JComponent
  23. {
  24. private static Logger lg = OhmLogger.getLogger();
  25. private EierUhrView view;
  26. private EierUhrModel model;
  27. private EierUhrController ctrl;
  28. private CopyOnWriteArrayList<EierUhrListener> listenerListe;
  29. public EierUhr()
  30. {
  31. this.view = new EierUhrView(this);
  32. this.model = new EierUhrModel();
  33. this.ctrl = new EierUhrController(view, model, this);
  34. this.listenerListe = new CopyOnWriteArrayList<EierUhrListener>();
  35. }
  36. public void paintComponent(Graphics g)
  37. {
  38. view.paintComponent(g);
  39. }
  40. public void Start(int zahl)
  41. {
  42. ctrl.start(zahl);
  43. }
  44. public int getZahl()
  45. {
  46. return ctrl.getZahl();
  47. }
  48. public void fireEierUhrEvent(EierUhrEvent evt)
  49. {
  50. listenerListe.forEach(listener -> listener.timeIsOver(evt));
  51. }
  52. public synchronized void addEierUhrListener(EierUhrListener listener)
  53. {
  54. listenerListe.add(listener);
  55. }
  56. public synchronized void removeEierUhrListener(EierUhrListener listener)
  57. {
  58. listenerListe.remove(listener);
  59. }
  60. }