/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package EierUhrKomponente; import java.awt.Dimension; import java.awt.Graphics; import java.net.Socket; import java.util.concurrent.CopyOnWriteArrayList; import java.util.logging.Logger; import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.WindowConstants; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.UIManager; import ohmlogger.OhmLogger; /** * Builder Class * @author le */ public class EierUhr extends JComponent { private static Logger lg = OhmLogger.getLogger(); private EierUhrView view; private EierUhrModel model; private EierUhrController ctrl; private CopyOnWriteArrayList listenerListe; public EierUhr() { this.view = new EierUhrView(this); this.model = new EierUhrModel(); this.ctrl = new EierUhrController(view, model, this); this.listenerListe = new CopyOnWriteArrayList(); } @Override public void paintComponent(Graphics g) { view.paintComponent(g); } public void Start(int zahl) { ctrl.start(zahl); } public int getZahl() { return ctrl.getZahl(); } public void fireEierUhrEvent(EierUhrEvent evt) { listenerListe.forEach(listener -> listener.timeIsOver(evt)); } public synchronized void addEierUhrListener(EierUhrListener listener) { listenerListe.add(listener); } public synchronized void removeEierUhrListener(EierUhrListener listener) { listenerListe.remove(listener); } @Override public Dimension getMinimumSize() { return new Dimension(200, 150); } @Override public Dimension getPreferredSize() { return new Dimension(200, 150); } }