繁体   English   中英

当您单击一天时,如何从JCalendar获取日期?

[英]How to get a date from JCalendar when you click on a day?

我如何将动作侦听器添加到jcalendar? 每当您单击一天时,我都想获取日期,因此我将在jtextfield上显示整个日期。 我已经尝试过类似的操作,但是当我单击一天时它什么也没做。

    cal = new JCalendar();
    cal.setWeekOfYearVisible(false);
    cal.getDayChooser().getDayPanel().addPropertyChangeListener(new PropertyChangeListener() {

        @Override
        public void propertyChange(PropertyChangeEvent e) {
            System.out.println(e.getPropertyName()
                    + ": " + (Date) e.getNewValue());

        }
    });

我也尝试过该问题答案的代码,这是相似的,但是什么也没有。 将actionListener添加到jCalendar

我认为您正在将属性更改侦听器添加到错误的bean。 我检查了JCalendar代码,getDayPanel()方法仅返回一个常规的JPanel,而我对您感兴趣的“ day”属性不了解。

 /**
 * Returns the day panel.
 * 
 * @return the day panel
 */
public JPanel getDayPanel() {
    return dayPanel;
}

我认为您应该将属性更改侦听器添加到daychooser本身,该类是了解“ day”属性的类。 另外,您可能想要注册日期选择器的“ day”属性:

    cal = new JCalendar();
    cal.setWeekOfYearVisible(false);
    cal.getDayChooser().addPropertyChangeListener("day", new PropertyChangeListener() {

    @Override
    public void propertyChange(PropertyChangeEvent e) {
        System.out.println(e.getPropertyName()
                + ": " + e.getNewValue());

    }
});

尽管如此,那只会给您用户选择的日期,而不是整个日期。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM