Как инициализировать JCalendar без даты по умолчанию

Я использую JCalendar, и я инициализирую его таким образом:

popup = new JPopupMenu();
calendar = new JCalendar();
popup.add(calendar);
calendar.addDateListener(new DateListener() {
    @Override
    public void dateChanged(DateEvent de) {
       Calendar c = de.getSelectedDate();
       if (c != null) {
          String data = c.get(Calendar.DAY_OF_MONTH) + "-" + (c.get(Calendar.MONTH) + 1) + "-" + c.get(Calendar.YEAR);
          dateTextField.setText(data);
          popup.setVisible(false);
       }
    }
});
dateTextField.addMouseListener(new MouseAdapter() {
    public void mouseClicked(MouseEvent e) {
        popup.show(e.getComponent(), e.getX(), e.getY());
        popup.setVisible(true);  
    }
});

Таким образом, когда я нажимаю на текстовое поле dateTextField это показывает всплывающее окно с JCalendar но он показывает мне выбранную сегодняшнюю дату, и если я хочу показать эту дату в моем текстовом поле, я должен выбрать другую дату, а затем выбрать другую дату сегодняшнего дня. Как я могу удалить выбранную по умолчанию дату? Спасибо!!!

1 ответ

Похоже, что нет способа сделать именно то, что вы хотите, используя JCalendar. Одним из вариантов может быть добавление кнопки "Готово" в ваше всплывающее окно, которое будет захватывать текущую выбранную дату, устанавливать текст кнопки и закрывать всплывающее окно. В любом случае, это может быть более интуитивно понятным для пользователя, так как закрытие всплывающего окна может быть немного запутанным, если они случайно нажмут неправильную дату.

Другие вопросы по тегам