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

前端之家收集整理的这篇文章主要介绍了从模型中对TableView中的行进行自动更新前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直在寻找有关将数据刷新到tableview的信息.我试图直接修改模型,但我得到了一个bug.我修改了模型,但表格没有刷新,只有当我移动一列时,表格才显示修改后的值.

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

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

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

  1. Button button = new Button("Modify");
  2. button.setOnAction(new EventHandler<ActionEvent>() {
  3. @Override
  4. public void handle(ActionEvent arg0) {
  5. String name = table.getItems().get(0).getFirstName();
  6. name = name + "aaaa";
  7. table.getItems().get(0).setFirstName(name);
  8. }
  9. });
  10.  
  11. final VBox vBox = new VBox();
  12. vBox.setSpacing(5);
  13. vBox.getChildren().addAll(label,table,button);
  14. vBox.setPadding(new Insets(10,10));

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

谢谢!

解决方法

使TableView能够跟踪将相关字段公开为JavaFX属性所需的数据更改.从教程中向Person类添加下一个方法
  1. public SimpleStringProperty firstNameProperty() {
  2. return firstName;
  3. }
  4.  
  5. public SimpleStringProperty lastNameProperty() {
  6. return lastName;
  7. }
  8.  
  9. public SimpleStringProperty emailProperty() {
  10. return email;
  11. }

猜你在找的Java相关文章