javaFx中tableview使用cellfactory进行赋值的问题
2016-05-24 11:31
537 查看
在javafx中,可以使用cellfactory来进行赋初值
下面我将举例进行说明
首先当对应的fxml文件被调用时,他里面的相对应的controller中的intiablize方法将被自动调用,
@FXML
private void initialize() {
// Initialize the person table with the two columns.
firstNameColumn.setCellValueFactory(
cellData -> cellData.getValue().firstNameProperty());
lastNameColumn.setCellValueFactory(
cellData -> cellData.getValue().lastNameProperty());
// Clear person details.
showPersonDetails(null);
// Listen for selection changes and show the person details when changed.
personTable.getSelectionModel().selectedItemProperty().addListener(
(observable, oldValue, newValue) -> showPersonDetails(newValue));
}
需要添加@Fxml以让程序能识别。
其中的cellData是我们同过mainAPP把值传给了tableBiew,cellFactory将tableView中的每一行都填充数据。
mainAPP中将值传给tableVIew
controller.setMainApp(this);
public void setMainApp(MainApp mainApp) {
this.mainApp = mainApp;
// Add observable list data to the table
personTable.setItems(mainApp.getPersonData());
}
public ObservableList<Person> getPersonData() {
return personData;
}
public MainApp() {
// Add some sample data
personData.add(new Person("Hans", "Muster"));
personData.add(new Person("Ruth", "Mueller"));
personData.add(new Person("Heinz", "Kurz"));
personData.add(new Person("Cornelia", "Meier"));
personData.add(new Person("Werner", "Meyer"));
personData.add(new Person("Lydia", "Kunz"));
personData.add(new Person("Anna", "Best"));
personData.add(new Person("Stefan", "Meier"));
personData.add(new Person("Martin", "Mueller"));
}
就是这么个流程,欢迎大家批评指正,谢谢。
下面我将举例进行说明
首先当对应的fxml文件被调用时,他里面的相对应的controller中的intiablize方法将被自动调用,
@FXML
private void initialize() {
// Initialize the person table with the two columns.
firstNameColumn.setCellValueFactory(
cellData -> cellData.getValue().firstNameProperty());
lastNameColumn.setCellValueFactory(
cellData -> cellData.getValue().lastNameProperty());
// Clear person details.
showPersonDetails(null);
// Listen for selection changes and show the person details when changed.
personTable.getSelectionModel().selectedItemProperty().addListener(
(observable, oldValue, newValue) -> showPersonDetails(newValue));
}
需要添加@Fxml以让程序能识别。
其中的cellData是我们同过mainAPP把值传给了tableBiew,cellFactory将tableView中的每一行都填充数据。
mainAPP中将值传给tableVIew
controller.setMainApp(this);
public void setMainApp(MainApp mainApp) {
this.mainApp = mainApp;
// Add observable list data to the table
personTable.setItems(mainApp.getPersonData());
}
public ObservableList<Person> getPersonData() {
return personData;
}
public MainApp() {
// Add some sample data
personData.add(new Person("Hans", "Muster"));
personData.add(new Person("Ruth", "Mueller"));
personData.add(new Person("Heinz", "Kurz"));
personData.add(new Person("Cornelia", "Meier"));
personData.add(new Person("Werner", "Meyer"));
personData.add(new Person("Lydia", "Kunz"));
personData.add(new Person("Anna", "Best"));
personData.add(new Person("Stefan", "Meier"));
personData.add(new Person("Martin", "Mueller"));
}
就是这么个流程,欢迎大家批评指正,谢谢。
相关文章推荐
- 最全面的Java多线程用法解析
- Java基础-子类和父类之间的诡异事件
- Java中Synchronized的用法
- Java虚拟机JVM内存分区及代码执行机制
- 编程之美 NIM3 两堆石头的游戏 解法一Java版
- Java将科学计数法数据转为字符串
- Swagger与SpringMVC项目整合
- java连接sql server
- ActiveQM安装以及Spring配置
- java比.net优美的一个小地方
- Java中使用连接池技术链接数据库
- java入门教程-3.3Java变量的作用域
- java删除文件夹及子目录
- java使用Scanner类循环从控制台中获取数据的方法代码。
- Struts2_参数传值
- Java 实现导出excel表 POI
- java使用Scanner类循环从控制台中获取数据的方法代码。
- java入门教程-3.2Java访问修饰符(访问控制符)
- Spring MVC学习笔记——Controller接口
- Struts2_Action的配置