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.8KB

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