Как инициализировать 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. Одним из вариантов может быть добавление кнопки "Готово" в ваше всплывающее окно, которое будет захватывать текущую выбранную дату, устанавливать текст кнопки и закрывать всплывающее окно. В любом случае, это может быть более интуитивно понятным для пользователя, так как закрытие всплывающего окна может быть немного запутанным, если они случайно нажмут неправильную дату.