import java.awt.event.*;
import javax.swing.*;
import javax.swing.undo.*;
import javax.swing.event.*;

public class UToggleButton extends JCheckBox {
		public UToggleButton(String titre) {
				super(titre);
		}

		public void addUndoableEditListener(UndoableEditListener l) {
				listenerList.add(UndoableEditListener.class, l);
  	}
		public void removeUndoableEditListener(UndoableEditListener l) {
				listenerList.remove(UndoableEditListener.class, l);
		}
		protected void fireActionPerformed(ActionEvent ev) {
				super.fireActionPerformed(ev);
        Object[] listeners = listenerList.getListenerList();
        UndoableEditEvent e = null;
        for (int i = listeners.length-2; i>=0; i-=2) {
            if (listeners[i]==UndoableEditListener.class) {
                if (e == null) 
										e = new UndoableEditEvent(this, new ToggleEdit(this));
                ((UndoableEditListener)listeners[i+1]).undoableEditHappened(e);
            }          
        }
    }
}
