FXML与SceneBuilder开发中TableView控件的使用
来源:互联网 发布:诚哥战斗过的天台淘宝 编辑:程序博客网 时间:2024/06/09 06:56
本人最近正在使用javaFX开发桌面应用程序,使用FXML与SceneBuilder进行界面开发,在经过多方查找后,终于明白了TableView绑定数据的方法!
1、添加TableView控件
(1)在 SceneBuilder 中为 fxml 文件添加一个 TableView 控件。
(2)为该控件添加一个 fx:id 。
(3)在后台控制类中,添加一个变量。注:该变量需要一个泛型(表格数据的实体类)。
@FXMLprivate TableView<T> table;
2、添加TableColumn控件
(1)TableColumn 是 TableView 的“列”,需要添加在 TableView 控件当中。
(2)为该 TableColumn 控件添加一个 fx:id.
(3)在后台控制类中,添加一个变量。注:该变量需要两个泛型。
@FXMLprivate TableColumn<T,T> column;
3、初始化表格数据
(1)TableView 需要一个 ObservableList<T> 集合作为数据,该集合的泛型与 TableView 的泛型需要一致。
(2)配置 TableView 的所有 TableColumn 列。
(3)将数据集合添加到 TableView 中。
(4)实体类:实体类中的变量不能直接使用包装类,而需要javaFX提供的property类,具体如下:
注:在配置 TableColumn 的时候,除了 String 类型外,其他类型(Integer,Double...)等需要添加 .asObject() 方法,具体如下:
例子:添加一个泛型为Person类的TableView
@FXMLprivate Table<Person> table;@FXMLprivate TableColumn<Person, Integer> ageCol;@FXMLprivate TableColumn<Person, String> nameCol;//(1)创建并初始化数据private final ObservableList<Person> cellData = FXCollections.observableArrayList();cellData.add(new Person(20,"Jack"));cellData.add(new Person(18,"Jerry"));cellData.add(new Person(21,"Mike"));//(2)配置 TableColumn 列ageCol.setCellValueFactory(cellData -> cellData.getValue().getAge().asObject());nameCol.setCellValueFactory(cellData -> cellData.getValue().getName());//(3)为 TableView 添加数据table.setItems(cellData);//(4)Person 实体类public class Person {private IntegerProperty age;private StringProperty name;public Person(Integer age, String name) {super();this.age = new SimpleIntegerProperty(age);this.name = new SimpleStringProperty(name);}public IntegerProperty getAge() {return age;}public void setAge(Integer age) {this.age = new SimpleIntegerProperty(age);}public StringProperty getName() {return name;}public void setName(String name) {this.name = new SimpleStringProperty(name);}}
阅读全文
0 0
- FXML与SceneBuilder开发中TableView控件的使用
- Scenebuilder打开fxml文件报错解决方案
- Swift中tableView的建立与使用
- JavaFX文档(12)掌握FXML——4使用FXML来创建自定义控件
- Swing中嵌入Fxml方式的JavaFX
- 使用Fxml作为界面的javafx
- ios开发中最简单的tableview使用一
- qt中tableview的使用
- swift中tableview的使用
- FXML如何设定窗口与内面板的最大化
- iOS项目开发实战——学会使用TableView列表控件(四)plist读取与Section显示
- IOS开发 tableview中cell的用法
- IOS开发 tableview中cell的用法
- IOS开发 tableview中cell的用法
- IOS开发 tableview中cell的用法
- IOS开发中TableView的关键用法
- iOS开发笔记--TableView的详细使用
- iOS开发表格TableView的使用
- Hashtable和HashMap
- 生动描述三次tcp握手
- Angular拦截器
- mysql 主从从M-S1-S11 ,S1数据库15张表的数据被删除掉了几千行
- 第十周项目1(2)-二叉树构造算法的验证
- FXML与SceneBuilder开发中TableView控件的使用
- 开源框架MXNet | 环境变量配置(显存)
- 项目部署时,报Jstl异常:org.apache.jasper.JasperException: This absolute uri
- STM32开发板实现Pixhawk无人机GPS跟踪
- xml字符转译
- 机器学习入门:线性回归及梯度下降
- leetcode Symmetric Tree
- 满足条件的进制转换,并输出
- 关于markdown文件插入图片遇到的小问题和解决办法