是否可以在JCalendar JDateChooser字段上检测日期更改?

ghi*_*man 9 java swing jcalendar jdatechooser

我想在JDateChooser字段中检测日期何时更改,以便我可以更新另一个字段.

这可能吗?如果是这样我应该在哪里开始?我已经查看了文档,遗憾的是没有添加类似ActionListener或StateChangeListener的方法(我的第一个想法).

Cat*_*and 21

com.toedter.calendar.JCalendar继承一个listenerListfrom JComponent并实现它java.beans.PropertyChangeListener.我会添加一个听众,看看会发生什么.

编辑:我认为你可以用addPropertyChangeListener()同样的方式JCalendar.

JDateChooser chooser = new JDateChooser();
chooser.getDateEditor().addPropertyChangeListener(
    new PropertyChangeListener() {
        @Override
        public void propertyChange(PropertyChangeEvent e) {
            if ("date".equals(e.getPropertyName())) {
                System.out.println(e.getPropertyName()
                    + ": " + (Date) e.getNewValue());
            }
        }
    });
this.add(chooser);
Run Code Online (Sandbox Code Playgroud)