加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

从模型中对TableView中的行进行自动更新

发布时间:2020-12-15 02:58:46 所属栏目:Java 来源:网络整理
导读:我一直在寻找有关将数据刷新到tableview的信息.我试图直接修改模型,但我得到了一个bug.我修改了模型,但表格没有刷新,只有当我移动一列时,表格才显示修改后的值. 为了向您展示一个示例(13-6),我将学习该教程: http://docs.oracle.com/javafx/2/ui_controls/t
我一直在寻找有关将数据刷新到tableview的信息.我试图直接修改模型,但我得到了一个bug.我修改了模型,但表格没有刷新,只有当我移动一列时,表格才显示修改后的值.

为了向您展示一个示例(13-6),我将学习该教程:

http://docs.oracle.com/javafx/2/ui_controls/table-view.htm#CJABIEED

我修改它包括一个按钮,并在其动作中:

Button button = new Button("Modify");
button.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent arg0) {
    String name = table.getItems().get(0).getFirstName();
    name = name + "aaaa";
    table.getItems().get(0).setFirstName(name);
    }
});

final VBox vbox = new VBox();
vbox.setSpacing(5);
vbox.getChildren().addAll(label,table,button);
vbox.setPadding(new Insets(10,10));

我想这是tableview中的一个错误,但有没有机会解决这个问题?

谢谢!

解决方法

使TableView能够跟踪将相关字段公开为JavaFX属性所需的数据更改.从教程中向Person类添加下一个方法:
public SimpleStringProperty firstNameProperty() {
        return firstName;
    }

    public SimpleStringProperty lastNameProperty() {
        return lastName;
    }

    public SimpleStringProperty emailProperty() {
        return email;
    }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读