【问题标题】:JavaFX - TableView not populating [duplicate]JavaFX - TableView 未填充 [重复]
【发布时间】:2018-05-20 08:18:47
【问题描述】:

我正在尝试填充由两列(名称和电子邮件)组成的 TableView,但这些列仍然为空。

这是控制器代码:

public class GUIMainController 
{
   @FXML private TableView<Member> tableMembers;

   @FXML private TableColumn<Member, String> tcMemberName;
   @FXML private TableColumn<Member, String> tcMemberEmail;

   public void initialize() 
   {
    tcMemberName.setCellValueFactory(new PropertyValueFactory<Member, String>("name"));
    tcMemberEmail.setCellValueFactory(new PropertyValueFactory<Member, String>("email"));

    tableMembers.setItems(getList());
   }

   public ObservableList<Member> getList()
   {
     ObservableList<Member> members = FXCollections.observableArrayList();

     members.add(new Member("Frank","frankie678@gmail.com"));

     System.out.println(members);
     return members;        
   }
}

以及数据的构造函数:

public Member(String name, String email)
{
    this.name = name;
    this.email = email;
}
public String getMemberName()
{
    return this.name;
}

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

public String getMemberEmail()
{
    return this.email;
}

public void setMemberEmail(String email)
{
    this.email = email;
}

我可以在控制台上看到正确的数据,但它没有显示在表格本身中。

有人可以帮忙吗?提前致谢!

【问题讨论】:

  • 你需要在你的模型类中有合适的getter(或property-getter)。请参阅链接的问题。

标签: java javafx


【解决方案1】:

谢谢,我最终删除了我的 getter 和 setter,并在 Eclipse 中生成它们。像魅力一样工作!

【讨论】:

    猜你喜欢
    • 2014-10-08
    • 2018-10-14
    • 2013-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多