W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
JavaFX中的集合由javafx.collections包定義,javafx.collections包由以下接口和類組成:
接口 | 描述 |
---|---|
ObservableList | 允許我們跟蹤更改的列表 |
ListChangeListener | 接收更改通知的接口 |
ObservableMap | 允許我們跟蹤更改的映射 |
MapChangeListener | 從ObservableMap接收更改通知的接口 |
類 | 描述 |
---|---|
FXCollections | 實(shí)用程序類映射到j(luò)ava.util.Collections |
ListChangeListener.Change | 表示對(duì)ObservableList所做的更改 |
MapChangeListener.Change | 表示對(duì)ObservableMap所做的更改 |
以下代碼顯示如何使用ObservableList,ObservableMap和FXCollections。
import java.util.ArrayList; import java.util.List; import javafx.collections.FXCollections; import javafx.collections.ListChangeListener; import javafx.collections.ObservableList; public class Main { public static void main(String[] args) { List<String> list = new ArrayList<String>(); ObservableList<String> observableList = FXCollections.observableList(list); observableList.addListener(new ListChangeListener() { @Override public void onChanged(ListChangeListener.Change change) { System.out.println("change!"); } }); observableList.add("item one"); list.add("item two"); System.out.println("Size: " + observableList.size()); } }
上面的代碼生成以下結(jié)果。
以下代碼顯示了如何監(jiān)聽ObservableMap上的更改。
import java.util.HashMap; import java.util.Map; import javafx.collections.FXCollections; import javafx.collections.MapChangeListener; import javafx.collections.ObservableMap; public class Main { public static void main(String[] args) { Map<String, String> map = new HashMap<String, String>(); ObservableMap<String, String> observableMap = FXCollections .observableMap(map); observableMap.addListener(new MapChangeListener() { @Override public void onChanged(MapChangeListener.Change change) { System.out.println("change! "); } }); observableMap.put("key 1", "value 1"); map.put("key 2", "value 2"); } }
上面的代碼生成以下結(jié)果。
以下代碼顯示了如何找出已更改的內(nèi)容。
import java.util.ArrayList; import java.util.List; import javafx.collections.FXCollections; import javafx.collections.ListChangeListener; import javafx.collections.ObservableList; public class Main { public static void main(String[] args) { List<String> list = new ArrayList<String>(); ObservableList<String> observableList = FXCollections.observableList(list); observableList.addListener(new ListChangeListener() { @Override public void onChanged(ListChangeListener.Change change) { System.out.println("Detected a change! "); while (change.next()) { System.out.println("Was added? " + change.wasAdded()); System.out.println("Was removed? " + change.wasRemoved()); System.out.println("Was replaced? " + change.wasReplaced()); System.out.println("Was permutated? " + change.wasPermutated()); } } }); observableList.add("item one"); list.add("item two"); System.out.println("Size: " + observableList.size()); } }
上面的代碼生成以下結(jié)果。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: