package org.geogebra.desktop.util; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.Timer; import org.geogebra.common.util.GTimer; import org.geogebra.common.util.GTimerListener; /** * Desktop timer */ public class GTimerD implements GTimer, ActionListener { private Timer timer; private GTimerListener listener; /** * @param listener * action * @param delay * delay to run (or between runs) */ public GTimerD(GTimerListener listener, int delay) { this.listener = listener; timer = new Timer(delay, this); } @Override public void start() { timer.start(); } @Override public void stop() { timer.stop(); } @Override public boolean isRunning() { return timer.isRunning(); } @Override public void setDelay(int delay) { timer.setDelay(delay); } @Override public void actionPerformed(ActionEvent e) { listener.onRun(); } @Override public void startRepeat() { timer.setRepeats(true); start(); } }