0
我碰到過這段代碼。我想了解fireStateChanged
方法的作用以及它的作用。EventListenerList中的這段代碼在Java Swing中意味着什麼?
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
種類的方法通常出現在許多代碼中。所以我想清楚地理解這個概念。非常感謝
上面的第一個是'changeListener []',另一個是'ActionListener []'。你能解釋一下哪些代碼以及這些代碼有用嗎? –
@ user1988876:請在您的問題中更具體。什麼讓你困惑? –