TimePiece

(last updated: 2012-08-24)

Purpose: TimePiece is a Java application that alerts the user to reminders they have set.

Overview

Reminders are events for which the user wishes to be alerted. A reminder has a start time and duration. It can be set to be a one-time occurrence or automatic repeated occurrence. After the user has set up a reminder, the TimePiece application detects the start time and plays a selected sound. Reminders can be set to require acknowledgement. When the alert becomes active, the configured sound will loop and the tray icon will flash until the user acknowledges the reminder (see below).

The primary interface to the TimePiece application is through an icon in the OS's task tray. When an alert is active, the icon is changed to a red color. When a reminder becomes active, a popup "bubble" is shown near the tray icon (can be disabled). By right-clicking the tray icon, the user can perform the following:

Exit - exit the application (this is the only way to exit the application).

Mute - select if you wish to disable playing sounds when an alert is active.

Popup Msg - select if you wish to see popup text appear near the tray icon when an reminder becomes active.

Acknowlege - acknowlege alerts that requre acknowledgement.

Restore - show a GUI window that allows reminders to be set, show the text of active reminders, allow reminders to be acknowledged.

When the TimePiece application is started, it adds its icon to the system/task tray and proceeds to run. It does not show a GUI window. This allows the application to be started automatically by the OS when the OS starts.

Tray icon menu:

GUI Window:

"Setup Reminders" = opens a dialog box to set up the reminders (see below)

"Ack" = acknowledge a reminder that is active (and has "Ack Required" set)

Reminder Setup:

"Enabled" = usually this will be set, but if you want to disable a reminder without deleting it, go ahead and uncheck this item.

"Ack Required" = when this reminder becomes active it will flash the icon and play the sound ever 10 seconds, until you acknowledge the reminder via the icon or the main GUI (see above). If the reminder does not get acknowledged, it will remain active even though the duration has expired.

"Date" = date

"Time" = time

"+5" = quick way to bump up the time by 5 minutes

"Duration" = select 1 minute, 5 minute, and other durations

"Pre-alert" = If > 0, then the sound is played that number of minutes prior to the time of the reminder, a popup message will appear, the main GUI will show the reminder text

"Occurrence" = select from "one-time", "daily", "2 day", "3 day", "5 day", "weekly", "bi-weekly", "monthly", "yearly"

"Sound" = select the sound file to be played (must be in the /sound subdirectory)

"Announce When Done" = plays the sound at the end of the duration, shows a popup message

"Text" = the text to show in the popup message when the reminder first becomes active, this text is show in the main GUI while the reminder remains active.

"New" = creates a new reminder, each reminder is in its own tab

"Delete" = removes the reminder currently viewed

"Done" = saves all of the reminders

Note: if a new reminder is created, but the window is closed via the "X" at the window top, then the reminder is not saved.

Java Programming Features

- Use of the java.awt.TrayIcon class to place an icon in the system tray.

- Events from the GUI objects are propagated up to the main source file where the events are handled (shows how to implement custom event handling).

Downloads (see the attachments section below)

TimePiece_R20120824.zip - Netbeans project files.

Terms of Use

Home

Copyright Steven R. Nickels 2012. All rights reserved.