0

このコードに出くわしました。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メソッドの種類は、多くのコードで一般的に発生します。ですから、この概念を明確に理解したいと思います。どうもありがとう

4

1 に答える 1