/* IntMonitor.java Track and display time. Rich Acuff 28-Sep-97 */ import java.awt.*; public class TimeMonitor extends Monitor { long startTime, endTime; Label lab; public TimeMonitor (Label l) { lab = l; } public void start () { endTime = 0; //means "running" startTime = System.currentTimeMillis(); } public void stop () { endTime = System.currentTimeMillis(); } public void pause () { endTime = System.currentTimeMillis(); } public void resume () { //pretend startTime was the right amount in the past if (endTime != 0) { startTime = System.currentTimeMillis() - endTime - startTime; endTime = 0; } } public void show () { lab.setText(this.toString()); } public String toString () { long end; if (endTime == 0) { end = System.currentTimeMillis(); } else { end = endTime; } long interval = end - startTime; long msec = (long)(interval % 1000); interval = interval / 1000; long s = (long)(interval % 60); interval = interval / 60; long m = (long)(interval % 60); long h = (long)(interval / 60); if (h > 0) { return h + ":" + (m < 10? "0" : "") + m + ":" + (s < 10? "0" : "") + s; } else { return m + ":" + (s < 10? "0" : "") + s + "." + (msec / 100); } } }