我需要处理 2 个类之间的更改交互。
public class HeadClass {
private Subclass sub;
public void refresh() {...}
}
public class Subclass{
ArrayList store;
public void add(T data)
store.add(data);
firePropertyChange(...);
}
每当调用子类中的方法“add”时,就应该调用 HeadClass 中的方法“refresh”!但是我应该在哪个类中实现这一行:
private PropertyChangeSupport changes = new PropertyChangeSupport(/*WHAT SHOULD BE HERE?*/);
如果我在 HeadClass 中实现它,我可以做出这样的反应:
changes.addPropertyChangeListener(new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent event) {
refresh();
}
});
但是,如果我无法访问 propertyChangeSupport “更改”,我应该如何从子类中触发 propertyChangeEvents?