为链接列表或任何类型的列表添加侦听器

时间:2012-03-13 14:12:38

标签: java

我有一个链接列表,我只想听取任何更改,例如添加到链接列表中的内容。

最好的方法是什么?

3 个答案:

答案 0 :(得分:3)

答案 1 :(得分:2)

将列表包装到可观察列表(您必须编写的内容)。

public class ObservableList implements List<T> {
  private List<Listener> listeners = new ArrayList<Listener>();
  // usual methods for adding/removing listeners

  private List<T> list;
  public ObservableList(List<T> list) {
    this.list = list;
  }

  // implement methods from List and delegate to the internal list
  // send notifications to listeners for add/remove operations

  public boolean add(T item) {
    fireEvent(Type.ADD, item);  // like that
    return list.add(item);      // delegate to the internal list
  }
}

答案 2 :(得分:0)

我会实现自己的列表,在add方法中,它会调用另一个方法“通知”您的更改。我以前从未这样做过,所以我不能给你一个例子(也许别人可以),但它不应该是复杂的。试一试。