Java Swing Time Entry Component

The AtTime field is a Java custom swing component used for showing and editing time (hour, minute, second, and AM/PM).
Run as an Applet
The AtTimeField class allows the user to enter a new time or select a time using the spin buttons at the end of the time field. Time is shown as segments with the format "hour:minute:second AM/PM". Proper validation is done to make sure illegal values are not allowed to enter or select. When spin is pressed, currently focused time segment is rolled towards upper or lower side until it reach to the maximum or the minimum. Once the limit is reached, it starts from beginning.