有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java JavaFX TableView更新单元格,不更新对象值

在将列作为文本字段进行编辑,并能够编辑和更新单元格内显示的值之后,我注意到每当我试图从tableview中提取更新后的值时,只有旧的原始未编辑值返回给了我——看起来单元格中表示的值不等于从基础模型对象返回的值

要使我的列可编辑,我使用以下代码:

ObservableList<TableColumn> colums = search.getColumns();

colums.get(1).setEditable(true);
colums.get(1).setCellFactory(TextFieldTableCell.<DataPoint>forTableColumn());
colums.get(1).setCellValueFactory(new PropertyValueFactory<DataPoint, String>("No"));

DataPoint对象的一个简短片段如下所示

public class DataPoint {
    private ArrayList<String> data;

    /* Constructor not shown in example */

    // Get Number
    public String getNo() {
        return this.data.get(1);
    }

    public void setNo(String No) {
        this.data.set(1, No);
    }
}

要提取单元格的值,请使用以下代码:

DataPoint selectedData = (DataPoint) TableView_Search.getSelectionModel().getSelectedItem();

System.out.println(selectedData.getNo());

那么,我如何在模型对象中保存更新后的值/如何提取单元格中显示的

(我的GUI是一个FXML文档,使用Gluon的Scene Builder程序制作)


共 (0) 个答案