Платформа NetBeans - прослушивайте изменения BeanNode <T>s в PropertySheetView - PullRequest
1 голос
/ 11 ноября 2011

Я пытаюсь перехватить событие, когда пользователь вносит изменения в лист свойств (просмотр).

Я попытался добавить PropertyChangeListeners и NodeListeners к узлу, ни один из которых не вызывает событие при изменении узла. Кроме того, я попытался добавить PropertyChangeListener к самому PropertySheetView, но без игры в кости.

Есть идеи, что мне не хватает?

1 Ответ

0 голосов
/ 13 ноября 2011

Вам необходимо добавить PropertyChangeSupport к вашей модели (независимо от объекта, который обертывают ваши узлы).

private PropertyChangeSupport support = new PropertyChangeSupport(this);

// add interested listeners here
public void addPropertyChangeListener(PropertyChangeListener listener) {
    support.addPropertyChangeListener(listener);
}

// don't forget to remove them
public void removePropertyChangeListener(PropertyChangeListener listener) {
    support.addPropertyChangeListener(listener);
}

Затем, когда вы изменяете значение модели через пользовательский интерфейс, вы можете вызвать изменение свойства вустановщик свойства:

public void setMyValue(String myValue) {
    String oldValue = this.myValue;
    this.myValue = myValue;
    support.firePropertyChange("myValue", oldValue, this.myValue);
}

Подробнее см. учебное пособие API узлов NetBeans .Кроме того, вам, вероятно, повезет больше и вы получите более быстрые ответы, если будете задавать вопросы о платформе NetBeans на форуме Пользователи платформы NetBeans .

...