我試圖放置與我的視圖上的偵聽器鏈接的ObservableMap>。作爲值類型不觸發的HashMap的ObservableMap MapChangeListener
這是我使用的代碼:
ObservableMap<Integer, HashMap<String, Integer>> map = FXCollections.observableHashMap();
map.addListener((MapChangeListener.Change<? extends Integer, ? extends HashMap<String, Integer>> change) -> {
System.out.println("Changed key: " + change.getKey());
});
HashMap<String, Integer> store1 = new HashMap<>();
store1.put("apple", 100);
store1.put("strawberry", 123);
store1.put("lemon", 165);
map.put(1, store1);
HashMap<String, Integer> store2 = new HashMap<>();
store2.put("peach", 45);
store2.put("blackberry", 90);
store2.put("melon", 10);
map.put(2, store2);
HashMap<String, Integer> cpStore2 = map.get(2);
cpStore2.put("peach", 40);
map.put(2, cpStore2);
如果我執行,我得到這樣的:
Changed key: 1
Changed key: 2
所以我的問題是,當我做一個更新的地圖上有沒有任何事件被觸發。我實際上需要這個。
有人知道我該怎麼做嗎?
謝謝,這正是我想要的 –