如何更新或更改表格原始数据';在不使表格可编辑的情况下在javafx中设置值?

如何更新或更改表格原始数据';在不使表格可编辑的情况下在javafx中设置值?,javafx,tableview,Javafx,Tableview,我非常沮丧,尝试了很多次,但都没有成功。 我试图在用户更改按钮时更改javafx表raw的特定值。假设表中有一个特定的原始值是10,那么如果用户按下一个按钮,该值将被更改为20,但是我怎么做呢? 但是这个简单的技术在JavaSwing中非常容易。请帮助我在javafx中做同样的事情。您不直接更新表单元格的值。而是修改基础数据模型值 查看调用TableView.setItems()时传递给TableView的是什么类型的列表。您要更新的就是该数据类型 例如,假设您有一个表视图,其中包含人对象的列表

我非常沮丧,尝试了很多次,但都没有成功。 我试图在用户更改按钮时更改javafx表raw的特定值。假设表中有一个特定的原始值是10,那么如果用户按下一个按钮,该值将被更改为20,但是我怎么做呢?
但是这个简单的技术在JavaSwing中非常容易。请帮助我在javafx中做同样的事情。

您不直接更新
表单元格的值。而是修改基础数据模型值

查看调用
TableView.setItems()
时传递给
TableView
的是什么类型的
列表。您要更新的就是该数据类型

例如,假设您有一个
表视图
,其中包含
对象的
列表

public class Person {
    private final StringProperty name = new SimpleStringProperty();
    private final StringProperty email = new SimpleStringtProperty();

    public Person (String name, String email) {
        this.name.set(name);
        this.email.set(email);
    }

    public String getName() {
        return name.get();
    }

    public StringProperty nameProperty() {
        return name;
    }

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

    public String getEmail() {
        return email.get();
    }

    public StringProperty emailProperty() {
        return email;
    }

    public void setEmail(String email) {
        this.email.set(email);
    }
}
因此,您有了您的
列表
,并使用它来填充您的
表格视图

tableView.setItems(FXCollections.observableArrayList(persons));
现在,当您的用户单击
按钮
或您希望用新值更新
表格视图
时,您将更新
个人
对象:

person.setEmail("me@home.com");
一旦该属性发生更改,
TableView
将更新以反映新值


这是一个高级概述/示例。如果您需要更详细的帮助,请编辑您的问题,并包括一个演示您正面临的确切问题


阅读上的帮助文章也是明智的。

也许这会有所帮助:特别是,请查看:lastnamecommuln.setCellValueFactory(newPropertyValueFactory(“lastName”)@红葡萄酒-恐怕这与OP的问题无关…谢谢你,西风,我尝试了另一种方法,以及如何更新我的桌子视图“Alhamdulillah”。可能是信,我会在这里添加代码“真主”。