Можно ли обнаружить изменение даты в поле JCalendar JDateChooser? - PullRequest
9 голосов
/ 11 ноября 2010

Я хотел бы определить, когда дата изменяется в JDateChooser поле, чтобы я мог обновить другое поле.

Возможно ли это?И если да, то с чего мне начинать?Я уже посмотрел документацию и, к сожалению, нет способов добавить что-то вроде ActionListener или StateChangeListener (мои первые мысли).

Ответы [ 2 ]

21 голосов
/ 11 ноября 2010

com.toedter.calendar.JCalendar наследует listenerList от 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);
1 голос
/ 11 ноября 2010

Я не пробовал, но addDateListener(DateListener listener) выглядит уместно.

...