|
Calendar panel
Example 1: default configuration

| Calendar calendar = new Calendar(Locale.ENGLISH); |
| |
| GregorianCalendar gc = new GregorianCalendar(); |
| gc.set(GregorianCalendar.YEAR, 2011); |
| gc.set(GregorianCalendar.MONTH, 0); |
| gc.set(GregorianCalendar.DAY_OF_MONTH, 20); |
| |
| calendar.setDate(gc.getTimeInMillis()); |
Example 2: changing the start day of week

| Calendar calendar = new Calendar(Locale.ENGLISH); |
| |
| PropertiesProvider pp = calendar.getPropertiesProvider(); |
| DefaultPropertiesProvider dpp = (DefaultPropertiesProvider) pp; |
| dpp.getProperties().setStartDayOfWeek(DayOfWeek.SUNDAY); |
| calendar.update(); |
| |
| GregorianCalendar gc = new GregorianCalendar(); |
| gc.set(GregorianCalendar.YEAR, 2011); |
| gc.set(GregorianCalendar.MONTH, 0); |
| gc.set(GregorianCalendar.DAY_OF_MONTH, 20); |
| |
| calendar.setDate(gc.getTimeInMillis()); |
Example 3: chaging all graphic properties

| Calendar calendar = new Calendar(Locale.ENGLISH); |
| |
| GregorianCalendar gc = new GregorianCalendar(); |
| gc.set(GregorianCalendar.YEAR, 2011); |
| gc.set(GregorianCalendar.MONTH, 0); |
| gc.set(GregorianCalendar.DAY_OF_MONTH, 20); |
| |
| PropertiesProvider pp = calendar.getPropertiesProvider(); |
| DefaultPropertiesProvider dpp = (DefaultPropertiesProvider) pp; |
| CalendarProperties cp = dpp.getProperties(); |
| cp.setTopBarBackground(Color.BLACK); |
| cp.setButtonColor(Color.WHITE); |
| cp.setMonthForeground(Color.WHITE); |
| cp.setYearForeground(Color.WHITE); |
| |
| for (DayOfWeek dow : DayOfWeek.values()) { |
| cp.setDayOfWeekBackground(dow, new Color(70, 70, 70)); |
| } |
| cp.setDayOfWeekForeground(DayOfWeek.SATURDAY, Color.LIGHT_GRAY); |
| cp.setDayOfWeekForeground(DayOfWeek.SUNDAY, Color.LIGHT_GRAY); |
| |
| cp.setTopDayOfWeekSeparatorColor(Color.GRAY); |
| cp.setBottomDayOfWeekSeparatorColor(Color.LIGHT_GRAY); |
| |
| cp.setDayOfMonthBackground(new Color(100, 100, 100)); |
| cp.setDayOfMonthForeground(Color.WHITE); |
| cp.setDayOfNonCurrentMonthBackground(new Color(100, 100, 100)); |
| |
| cp.setSelectedDayOfMonthBackground(Color.LIGHT_GRAY); |
| |
| calendar.update(); |
| |
| calendar.setDate(gc.getTimeInMillis()); |
Example 4: using listeners
| Calendar calendar = new Calendar(); |
| |
| calendar.addDateListener(new DateListener() { |
| @Override |
| public void dateChanged(DateEvent dateEvent) { |
| Date oldDate = dateEvent.getOldDate(); |
| Date newDate = dateEvent.getNewDate(); |
| System.out.println(oldDate + " - " + newDate); |
| } |
| }); |
Example 5: defining a popup menu

| Calendar calendar = new Calendar(Locale.ENGLISH); |
| |
| GregorianCalendar gc = new GregorianCalendar(); |
| gc.set(GregorianCalendar.YEAR, 2011); |
| gc.set(GregorianCalendar.MONTH, 0); |
| gc.set(GregorianCalendar.DAY_OF_MONTH, 20); |
| |
| calendar.setDate(gc.getTimeInMillis()); |
| |
| calendar.setPopupMenuBuilder(new PopupMenuBuilder<CalendarComponent>() { |
| @Override |
| public JPopupMenu buildPopupMenu(CalendarComponent source) { |
| Calendar calendar = source.getCalendar(); |
| DayOfWeek dow = calendar.getDayOfWeek(source); |
| System.out.println(dow); |
| |
| CalendarComponentType type = source.getType(); |
| |
| if (type.equals(CalendarComponentType.DAY_MONTH)) { |
| JPopupMenu menu = new JPopupMenu(); |
| |
| final Date date = calendar.getDate(source); |
| |
| JMenuItem mi = new JMenuItem(); |
| mi.setText("Events"); |
| mi.addActionListener(new ActionListener() { |
| @Override |
| public void actionPerformed(ActionEvent e) { |
| showEvents(date); |
| } |
| }); |
| |
| menu.add(mi); |
| return menu; |
| } |
| |
| return null; |
| } |
| }); |
Example 6: creating custom color rule

| private static class ExamplePropertiesProvider extends |
| DefaultPropertiesProvider{ |
| |
| @Override |
| public Color getForeground(CalendarComponent component) { |
| CalendarComponentType type = component.getType(); |
| if (type.equals(CalendarComponentType.DAY_MONTH)) { |
| Calendar calendar = component.getCalendar(); |
| int day = calendar.getDay(component); |
| if (day >= 10 && day <= 12) { |
| return Color.RED; |
| } |
| } |
| return super.getForeground(component); |
| } |
| } |
| |
| ... |
| |
| Calendar calendar = new Calendar(Locale.ENGLISH); |
| |
| calendar.setPropertiesProvider(new ExamplePropertiesProvider()); |
| |
| GregorianCalendar gc = new GregorianCalendar(); |
| gc.set(GregorianCalendar.YEAR, 2011); |
| gc.set(GregorianCalendar.MONTH, 0); |
| gc.set(GregorianCalendar.DAY_OF_MONTH, 20); |
| |
| calendar.setDate(gc.getTimeInMillis()); |
|
|
|