Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

like image 939
ghickman Avatar asked Nov 11 '10 15:11

ghickman


2 Answers

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);
like image 153
Catalina Island Avatar answered Sep 19 '22 03:09

Catalina Island


I've not tried it, but addDateListener(DateListener listener) looks appropriate.

like image 21
trashgod Avatar answered Sep 20 '22 03:09

trashgod