import java.text.MessageFormat;
import javax.swing.event.EventListenerList;
+import javax.swing.event.ListDataListener;
import javax.swing.event.TableModelListener;
import org.mxchange.addressbook.BaseFrameworkSystem;
* @author Roland Haeder
*/
public class BaseModel extends BaseFrameworkSystem {
-
/**
- * List of listeners
+ * List of event listeners
*/
- private final EventListenerList listenerList;
+ private final EventListenerList eventListenerList;
/**
* Protected constructor
*/
protected BaseModel () {
// Init listener list
- this.listenerList = new EventListenerList();
+ this.eventListenerList = new EventListenerList();
+ }
+
+ /**
+ * Adds a lister of this type to the list
+ *
+ * @param listener Listener instance
+ */
+ public void addListDataListener (final ListDataListener listener) {
+ // Debug message
+ this.getLogger().debug(MessageFormat.format("Adding listener {0} ...", listener.getClass()));
+
+ // Remove listener
+ this.eventListenerList.add(ListDataListener.class, listener);
}
/**
this.getLogger().debug(MessageFormat.format("Adding listener {0} ...", listener.getClass()));
// Add listener
- this.listenerList.add(TableModelListener.class, listener);
+ this.eventListenerList.add(TableModelListener.class, listener);
}
/**
- * Removes a TableModel listener instance from the event list.
+ * Removes given listener
*
* @param listener Listener instance
*/
+ public void removeListDataListener (final ListDataListener listener) {
+ // Debug message
+ this.getLogger().debug(MessageFormat.format("Removing listener {0} ...", listener.getClass()));
+
+ // Remove listener
+ this.eventListenerList.remove(ListDataListener.class, listener);
+ }
+
+ /**
+ * Removes a TableModel listener instance from the event list.
+ *
+ * @param listener Listener instance
+ */
public void removeTableModelListener (final TableModelListener listener) {
// Debug message
this.getLogger().debug(MessageFormat.format("Removing listener {0} ...", listener.getClass()));
// Remove listener
- this.listenerList.remove(TableModelListener.class, listener);
+ this.eventListenerList.remove(TableModelListener.class, listener);
}
}