このコードに出くわしました。fireStateChanged
メソッドが何をどのように行うのかを理解したい 。
public abstract class AbstractModel {
private EventListenerList listenerList;
protected EventListenerList getListenerList() {
if (listenerList == null) {
listenerList = new EventListenerList();
}
return listenerList;
}
protected void fireStateChanged() {
ChangeListener[] listeners = getListenerList().getListeners(ChangeListener.class);
if (listeners.length > 0) {
ChangeEvent evt = new ChangeEvent(this);
for (ChangeListener listener : listeners) {
listener.stateChanged(evt);
}
}
}
}
fireStateChanged
このコードのビットは、上記の方法と何が違うのでしょうか?
public void fireActionEvent(ActionEvent evt) {
ActionListener[] listenerList = listeners.getListeners(ActionListener.class);
for(int i = listenerList.length-1; i >= 0; --i)
listenerList[i].actionPerformed(evt);
}
私は EventListenerList を使用するための初心者です。ドキュメントも読みました。しかし、何が起こっているのかはっきりしません。fireAction
メソッドの種類は、多くのコードで一般的に発生します。ですから、この概念を明確に理解したいと思います。どうもありがとう