public TimeComboBoxEditor(boolean timeVisible) {
    showEditorBtn = new JButton();
    showEditorBtn.addActionListener(new ShowCalendarAction());
    calenderComponent = new JCalendar(new Date(), Locale.getDefault(), true, true, timeVisible);
    calenderComponent.addMouseListener(
        new MouseAdapter() {
          @Override
          public void mouseClicked(final MouseEvent e) {
            calendarPopupMenu.setVisible(false);
          }
        });
    calendarPopupMenu = calenderComponent.createPopupMenu();
    calendarPopupMenu.addPopupMenuListener(
        new PopupMenuListener() {
          public void popupMenuWillBecomeVisible(PopupMenuEvent e) {
            calenderComponent.setDate(date);
          }

          public void popupMenuWillBecomeInvisible(PopupMenuEvent e) {
            updateDate();
          }

          public void popupMenuCanceled(PopupMenuEvent e) {}
        });
    actionListeners = new LinkedList<ActionListener>();
  }