JavaFX集合
JavaFX集合
JavaFX中的集合由javafx.collections
包定义,javafx.collections
包由以下接口和类组成:
接口
接口 | 描述 |
---|---|
ObservableList | 允许跟踪更改的列表 |
ListChangeListener | 接收更改通知的接口 |
ObservableMap | 允许跟踪更改的映射 |
MapChangeListener | 从ObservableMap 接收更改通知的接口 |
类
类 | 描述 |
---|---|
FXCollections | 实用程序类映射到java.util.Collections |
ListChangeListener.Change | 表示对ObservableList 所做的更改 |
MapChangeListener.Change | 表示对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("有修改操作!"); } }); observableList.add("item one"); list.add("item two"); System.out.println("Size: " + observableList.size()); } }
上面的代码生成以下结果。
有修改操作! Size: 2
实例-2
以下代码显示了如何监听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"); } }
上面的代码生成以下结果。
change!
实例-3
以下代码显示了如何找出已更改的内容。
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()); } } });// => W W w . y Ii B aI. CO M observableList.add("item one"); list.add("item two"); System.out.println("Size: " + observableList.size()); } }
上面的代码生成以下结果。
Detected a change! Was added? true Was removed? false Was replaced? false Was permutated? false Size: 2
上一篇:JavaFX绑定
分类导航
- Java教程
- Vim教程
- Swing教程
- Spring教程
- Spring Web Services教程
- Spring MVC教程
- Spring JDBC教程
- Spring Cloud教程
- Spring Boot教程
- Spring Boot CLI教程
- Spring Batch教程
- Spring AOP教程
- PDFBox教程
- JSP教程
- JSF教程
- JPA教程
- Java面向对象设计
- Java设计模式
- Java虚拟机教程
- Java泛型教程
- Java正则表达式教程
- Java数据类型教程
- Java并发编程教程
- Java密码学教程
- Java多线程教程
- Java国际化(i18n)教程
- JavaFX教程
- Java9教程
关注微信小程序
扫描二维码
程序员编程王