//HoursTrackerApp.java
package HoursTracker;import java.io.*;
import java.util.*;
public class HoursTrackerApp
{
private int day;
private int month;
private int year;
private int ampm;
private int hour;
private int minute;
private int second;
private String dayStr;
private String monthStr;
private String yearStr;
private String ampmStr;
private String hourStr;
private String minuteStr;
private String secondStr;
private String fileName;
private String time;
private FileWriter logFile;
private GregorianCalendar cal;
public HoursTrackerApp(String fileName)
{
this.fileName = fileName;
try
{
logFile = new FileWriter(fileName);
} catch (IOException e)
{
}
}
public void addStartTime()
{
time = "Start ";
addTime();
}
public void addEndTime()
{
time = "End ";
addTime();
}
private void addTime()
{
char backSlash = '/';
char colon = ':';
getTime();
time = dayStr + backSlash + monthStr + backSlash + yearStr + backSlash + " "
+ hourStr + colon + minuteStr + colon + secondStr + colon + ampmStr;
try
{
logFile.write(time);
} catch (IOException e)
{
}
}
private void getTime()
{
getUnFormattedTime();
dayStr = "" + day;
getMonthStr();
yearStr = "" + year;
hourStr = "" + hour;
minuteStr = "" + minute;
secondStr = "" + second;
if (ampm == 0)
{
ampmStr = "AM";
} else
{
ampmStr = "PM";
}
}
private void getUnFormattedTime()
{
cal = new GregorianCalendar();
day = cal.get(cal.DATE);
month = cal.get(cal.MONTH);
year = cal.get(cal.YEAR);
ampm = cal.get(cal.AM_PM);
hour = cal.get(cal.HOUR);
minute = cal.get(cal.MINUTE);
second = cal.get(cal.SECOND);
}
private void getMonthStr()
{
if (month == 0)
{
monthStr = "01";
} else if (month == 1)
{
monthStr = "02";
} else if (month == 2)
{
monthStr = "03";
} else if (month == 3)
{
monthStr = "04";
} else if (month == 4)
{
monthStr = "05";
} else if (month == 5)
{
monthStr = "06";
} else if (month == 6)
{
monthStr = "07";
} else if (month == 7)
{
monthStr = "08";
} else if (month == 8)
{
monthStr = "09";
} else if (month == 9)
{
monthStr = "10";
} else if (month == 10)
{
monthStr = "11";
} else if (month == 11)
{
monthStr = "12";
}
}
}
//HoursTrackerGUI.java
package HoursTracker;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.Container;
import java.awt.FlowLayout;
import javax.swing.JFrame;
import javax.swing.JButton;
import hourstracker.HoursTrackerGUICloseableFrame;
import hourstracker.HoursTrackerApp;
public class HoursTrackerGUI extends HoursTrackerGUICloseableFrame
{
private HoursTrackerApp mainApp = new HoursTrackerApp("c:\\personal file\\programming\\java\\programs\\hourstracker\\log.txt");
private JButton setStartTime = new JButton("Clock in");
private JButton setEndTime = new JButton("Log out");
private JButton quitApp = new JButton("Exit");
public HoursTrackerGUI()
{
super();
this.setSize(400, 300);
Container contents = this.getContentPane();
contents.setLayout(new FlowLayout());
contents.add(setStartTime);
contents.add(setEndTime);
contents.add(quitApp);
setStartTime.addActionListener(new SSTListener());
setEndTime.addActionListener(new ESTListener());
quitApp.addActionListener(new ExitListener());
}
private class SSTListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
mainApp.addStartTime();
}
}
private class ESTListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
mainApp.addEndTime();
}
}
private class ExitListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
System.exit(0);
}
}
public static void main(String[] args)
{ HoursTrackerGUI app = new HoursTrackerGUI();
}
}
//HoursTrackerGUICloseableFrame.java
package HoursTracker;
import java.awt.event.WindowEvent;
import java.awt.event.WindowAdapter;
import javax.swing.JFrame;
public class HoursTrackerGUICloseableFrame extends JFrame
{
public HoursTrackerGUICloseableFrame()
{
super();
this.addWindowListener(new WindowCloser());
}
private class WindowCloser extends WindowAdapter
{
public void windowClosing(WindowEvent evt)
{
dispose();
System.exit(0);
}
}
}