/** @param date */
  public void setSelectedDay(final Date date) {
    selectedDay = CalendarUtil.getCalendar(date, true);
    final DisplayStrategy strategy = contentPane.getStrategy();
    strategy.setIntervalStart(date);
    headerPane.getIntervalLabel().setText(strategy.getDisplayInterval());
    final IntervalChangedEvent event =
        new IntervalChangedEvent(
            JCalendar.this,
            strategy.getType(),
            config.getIntervalStart().getTime(),
            config.getIntervalEnd().getTime());

    for (final IntervalChangedListener listener : intervalChangedListener) {
      listener.intervalChanged(event);
    }
  }
  /** Initializes the GUI */
  private void initGui() {
    this.setBackground(Color.white);
    headerPane = new HeaderPanel(this);
    contentPane = new ContentPanel(this);

    headerPane.getIntervalLabel().setText(contentPane.getStrategy().getDisplayInterval());
    this.setLayout(new GridBagLayout());
    final GridBagConstraints c = new GridBagConstraints();
    c.gridx = 0;
    c.gridy = 0;
    c.weightx = 1;
    c.fill = GridBagConstraints.BOTH;
    add(headerPane, c);
    c.gridx = 0;
    c.gridy = 1;
    c.weighty = 0.9;
    c.insets = new Insets(10, 10, 10, 10);
    add(contentPane, c);
  }