package com.limegroup.gnutella.gui; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.Timer; import com.limegroup.gnutella.settings.ApplicationSettings; /** * This class handles the timer that refreshes the gui after every * specified interval. */ //2345678|012345678|012345678|012345678|012345678|012345678|012345678|012345678| public final class RefreshTimer { /** * The interval between statistics updates in milliseconds. */ private final int UPDATE_TIME = 1000; /** * The interval between statistics updates in seconds for convenience * and added efficiency.. */ private final int UPDATE_TIME_IN_SECONDS = UPDATE_TIME/1000; /** * variable for timer that updates the gui. */ private Timer _timer; /** * Creates the timer and the ActionListener associated with it. */ public RefreshTimer() { ActionListener refreshGUI = new ActionListener() { public void actionPerformed(ActionEvent e) { refreshGUI(); } }; _timer = new Timer(UPDATE_TIME, refreshGUI); } /** * Starts the timer that updates the gui. */ public void startTimer() { _timer.start(); } /** * Refreshes all of the gui elements. */ private void refreshGUI() { GUIMediator.instance().refreshGUI(); int totalUptime = ApplicationSettings.TOTAL_UPTIME.getValue() + UPDATE_TIME_IN_SECONDS; ApplicationSettings.TOTAL_UPTIME.setValue(totalUptime); ApplicationSettings.AVERAGE_UPTIME.setValue(totalUptime/ApplicationSettings.SESSIONS.getValue()); } }