簡體   English   中英

如何在沒有默認日期的情況下初始化JCalendar

[英]How init JCalendar with no default date

我正在使用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來完成所需的工作。 一種替代方法是在彈出窗口中添加一個“完成”按鈕,該按鈕將獲取當前選定的日期,設置按鈕文本,然后關閉彈出窗口。 無論如何,這對於用戶來說可能更直觀,因為如果他們不小心單擊了錯誤的日期,則彈出窗口關閉可能會有些混亂。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM