JavaFx TableView 操作

许马鲁
2023-12-01

TableView 绑定对象,添加单元格

 @FXML
 private TableView<Person> tableViewData;

添加TableColum 列

ObservableList<Person> data =  FXCollections.observableArrayList();//初始化参数集合
//创建name 列名的列 
TableColumn<Map<String,String>, String> firstNameCol =  new TableColumn<>("name");
firstNameCol.setMinWidth(100);//设置宽度
firstNameCol.setCellValueFactory(new PropertyValueFactory<>("name"));//对象中的名称 绑定

//创建age列名的列 
TableColumn<Map<String,String>, String> lastNameCol =   new TableColumn<>("age");
lastNameCol.setMinWidth(100);//设置宽度
lastNameCol.setCellValueFactory(new PropertyValueFactory<>("age"));//对象中的名称 绑定

tableViewData.setItems(data);//将集合绑定 表格
tableViewData.getColumns().addAll(firstNameCol,lastNameCol);//将列添加到表格中

Person 对象

package com.my.bean;

public class Person {
    public Person() {
    }

    public Person(String name, String age) {
        this.name = name;
        this.age = age;
    }

    private String name;
    private String age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age = age;
    }
}

TableView 绑定Map集合,添加单元格

    @FXML
    private TableView<Map<String,String>> tableViewData;

添加TableColum 列

 ObservableList<Map<String,String>> data =  FXCollections.observableArrayList();//初始化参数集合
 
//创建name 列名的列 
TableColumn<Map<String,String>, String> firstNameCol =  new TableColumn<>("name");
firstNameCol.setMinWidth(100);//设置宽度
firstNameCol.setCellValueFactory(new MapValueFactory("name"));//Map中的key 绑定
//创建age列名的列 
TableColumn<Map<String,String>, String> lastNameCol = new TableColumn<>("age");
lastNameCol.setMinWidth(100);//设置宽度
lastNameCol.setCellValueFactory(new MapValueFactory("age"));//Map中的key 绑定

tableViewData.setItems(data);//将集合绑定 表格
tableViewData.getColumns().addAll(firstNameCol,lastNameCol);//将列添加到表格中
 类似资料: