public void propertyChange(PropertyChangeEvent evt) {
        if (evt.getPropertyName().equals("day")) {
            if (popup.isVisible()) {
                dateSelected = true;
                popup.setVisible(false);
                if (((Integer) evt.getNewValue()).intValue() > 0) {
                    setDate(jcalendar.getCalendar().getTime());
                } else {
                    setDate(null);
                }
            }
        } else if (evt.getPropertyName().equals("date")) {
            if (evt.getSource() == dateEditor) {
                firePropertyChange("date", evt.getOldValue(), evt.getNewValue());
            } else {
                setDate((Date) evt.getNewValue());
            }
        }
    }