All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.monte.media.beans.AbstractStateModel Maven / Gradle / Ivy

The newest version!


package org.monte.media.beans;

import javax.swing.event.*;

public class AbstractStateModel {
    protected EventListenerList listenerList;
    protected ChangeEvent changeEvent;


    public AbstractStateModel() {
    }

    public void addChangeListener(ChangeListener l) {
        if (listenerList == null) {
            listenerList = new EventListenerList();
        }
        listenerList.add(ChangeListener.class, l);
    }

    public void removeChangeListener(ChangeListener l) {
        if (listenerList == null) {
            listenerList = new EventListenerList();
        }
        listenerList.remove(ChangeListener.class, l);
    }

    protected void fireStateChanged() {
        if (listenerList != null) {

            Object[] listeners = listenerList.getListenerList();


            for (int i = listeners.length-2; i>=0; i-=2) {
                if (listeners[i]==ChangeListener.class) {

                    if (changeEvent == null) {
                        changeEvent = new ChangeEvent(this);
                    }
                    ((ChangeListener)listeners[i+1]).stateChanged(changeEvent);
                }
            }
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy