如何使监听器监听TreeMap中的更改?

时间:2011-07-25 18:03:12

标签: java listeners treemap

我正在制作一个结合西班牙语动词的GUI。它利用TreeMap作为主要数据结构,其中充满了类Verb的实例化。每个实例化都包含一个字符串,其中包含动词的不定式形式,如“hablar”或“escribir”。 GUI中有一个功能,允许用户通过键入其不定式及其英文翻译来输入新的动词。

我想知道如何创建一个侦听器,每次从TreeMap添加或删除新动词时都会运行一些代码。我该怎么做呢?

1 个答案:

答案 0 :(得分:5)

您可以继承TreeMap类,例如

public class MyTreeMap<K, V> extends TreeMap<K, V> {
    @Override
    public V put(K key, V val) {
        V ret = super.put(key, val);
        myAddCallback(key, val);
        return ret;
    }

    @Override
    public V remove(K key) {
        V ret = super.remove(key);
        myRemoveCallback(key);
        return ret;
    }
}

另一个(明显更多参与)选项是检查AspectJ,基于AOP的JRE。