【发布时间】:2015-05-13 08:57:20
【问题描述】:
我有这个带有几个 TextField 和一个 TableView 的窗口。我制作了一个搜索引擎,每次我在 TextFields 中写入时,都会显示一个新的给定对象数组,这些对象适合我在 TextFields 中写入的内容。现在,我已经对其进行了测试,并且我知道搜索引擎可以正常工作。但是当我尝试更新 TableView 时问题就来了。我已经尝试过解决它,但我能想到的唯一解决方法是每次在其中一个 TextField 中键入内容时刷新整个窗口。但这显然不是一件好事。
所以我的问题是:你知道如何在不刷新整个窗口的情况下刷新 TableView 中的列表吗?或者还有什么我可以用来直观地显示例如“Person”对象,使它们可点击并保存指向给定对象的指针?
请提出您的任何意见,我很乐意尝试或讨论您的意见!
【问题讨论】:
-
使用 fireTableCellUpdated(row, col);为了更新单个单元格的值,或者 fireTableRowsUpdated(int firstRow, int lastRow);一行或多行。
-
我不确定这是不是我要找的。假设我显示了一个包含 100 万个 Person 对象的数组。然后我在一个 TextField 中键入其他内容,我的搜索方法返回一个包含一半一百万个对象的数组。有没有一种有效的方法来显示这个?出于某种原因 setItems(Observablelist ol);导致问题。
-
AbstractTableModel 默认是高效的。即使您的 ResultSet 中有几百万行,一次在屏幕上显示的行数也绝对不会超过 100 行。试一试。
-
我明白了。我会试一试!
-
@CostisAivalis 这些是 Swing 表模型方法,而不是 JavaFX
TableView方法。