The Project        Download   Javadoc   SourceForge

Calendar

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()); 


 

Partners