CalendarComponent



OVERVIEW:

CalendarComponent is an innovative graphical user interface for picking a calendar date correctly and quickly.
Apart from normal navigation by month and year, CalendarComponent lets the user navigate by week of year and quarter of year. This facilitates quicker navigation to a desired calendar date.

CalendarComponent lets user pick a correct date by providing a) more information about a calendar date b) call backs to DateValidator:
1. User can select,say, 167th day of the year by switching over to day of year mode.
2. Validity of a selected date is often dictated by the application contexts.
CalendarComponent enables applications (of which it is part of) decide on correctness of selected date.
(This is done by implementing DateValidator interface. Download demo from http://calendar.buglerock.com and refer to Developer Section in docs/ index.html).

It is common to refer to a calendar date by week of year.With CalendarComponent, user can quickly navigate to week of year and make selection.


GUI CUSTOMIZATION:

Background color and Font can be programatically controlled.
Back ground color of month/ year renderer cannot be changed. Month/ year renderer is the top section of CalendarComponent which shows month and year.
Font can be set on CalendarComponent to further customize the look. Whereas Font face will be applied to all the elements of CalendarComponent, Font size/ style are predefined.

Example:

Font f = new Font("SansSerif",Font.BOLD|Font.ITALIC, 25);
//Code tries to set Bold + Italic, 25 pts, SansSerif font
CalendarComponent cc = new CalendarComponent();
cc.setFont(f);

SansSerif will be applied to all elements of CalendarComponent.
Although style is bold + italic and size is 25 pts:
1. Month/ year renderer will be rendered in SansSerif, Font.Plain style with Fixed Font Size of 14 pts.
2. Month popup will be rendered in SansSerif, Font.Plain style with Font Size of with Fixed Font Size of 14 pts.
3. Week of year navigator will be rendered in SansSerif, Font.Plain style with Font Size of 10 pts.
4. Date renderer will render days of current month and year in SansSerif, Font.BOLD style with Font Size 20 pts.
(Date renderer Font size range 8 - 20 pts).
5. Date renderer will render days of previous/ next month in SansSerif, Font.ITALIC style with Font Size 20 pts.
(Date renderer Font size range 8 - 20 pts).


SOURCE CODE:

Source code not available.
Well commented java docs (api) for relevant CalendarComponent classes will be provided with commercial version.
Application follows MVC architecture.


FUTURE PLANS:

1. Enable multiple date selection.(CalendarComponent V1.0 allows only single date selection.)
2. More lenient GUI customization.

TOOLS USED FOR DEVELOPMENT:

CalendarComponent uses info.clearthought.layout.TableLayout to layout certain internal elements.
NetBeans IDE