问题
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).
回答1:
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);
回答2:
I've not tried it, but addDateListener(DateListener listener) looks appropriate.
来源:https://stackoverflow.com/questions/4156305/is-it-possible-to-detect-a-date-change-on-a-jcalendar-jdatechooser-field