简体   繁体   中英

Is it possible to detect a date change on a JCalendar JDateChooser field?

I'd like to detect when the date is changed in a JDateChooser field so that I can update another field.

Is this possible? And if so where should I be starting? I've already looked at the documentation and unfortunately there are no methods for adding something like an ActionListener or StateChangeListener (my first thoughts).

com.toedter.calendar.JCalendar inherits a listenerList from JComponent and it implements java.beans.PropertyChangeListener . I'd add a listener and see what comes though.

Edit: I think you can use addPropertyChangeListener() the same way JCalendar does.

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);

我没有尝试过,但是addDateListener(DateListener listener)看起来合适。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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