更新TableView而不刷新窗口?

时间:2015-05-13 08:57:21

标签: javafx tableview

我有一个带有几个TextFields和TableView的窗口。我创建了一个搜索引擎,每次我在TextFields中编写时,都会显示一个给定对象的新数组,这些数组符合我在TextFields中编写的内容。现在,我已经测试了它,我知道搜索引擎可以工作。但是当我尝试更新TableView时出现问题。我试图通过它,但我能想到的唯一解决方案是每次在其中一个TextFields中输入内容时刷新整个窗口。但这显然不是一件好事。

所以我的问题是:你知道如何刷新TableView中的列表,而不刷新整个窗口吗?或者还有什么我可以用来直观地显示例如“Person”对象,使它们可以点击并保存指向给定对象的指针?

请随时提出任何意见,我将很乐意尝试或讨论您的意见!

1 个答案:

答案 0 :(得分:1)

发现问题!

setItems();似乎调用了object.equals();

我在.equals()的@Override中犯了一个错误;

@Override
public boolean equals(Object obj) {
    return this.birthNo.equals(((Person) obj).getBirthNo());
}

将其更正为:

@Override
public boolean equals(Object obj) {
    return obj != null && this.birthNo.equals(((Person) obj).getBirthNo());
}