如何初始化没有默认日期的 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弹出窗口,但它显示我选择的今天日期,如果我想在我的文本字段中显示该日期,我必须选择另一个日期,然后选择另一个时间今天的日期。如何删除默认选择的日期?谢谢!!!

似乎没有办法使用 JCalendar 做你想做的事情。一种替代方法是在弹出窗口中添加一个"完成"按钮,该按钮将获取当前选定的日期,设置按钮文本,然后关闭弹出窗口。无论如何,这对用户来说可能更直观,因为如果他们不小心点击了错误的日期,弹出窗口关闭可能会有点混乱。

相关内容

  • 没有找到相关文章

最新更新