JavaFX - 如何在继续代码之前处理TableView更改?

时间:2017-08-29 19:41:17

标签: java javafx tableview java-threads

我有一个TableView,当用户点击按钮时,其数据会被刷新。但是,用于获取数据的数据库查询可能需要一些时间。

在搜索过程中,我希望显示TableView的占位符(ProgressIndicator

// Add progress indicator while searching
ProgressIndicator pi = new ProgressIndicator(ProgressIndicator.INDETERMINATE_PROGRESS);
pi.setMaxHeight(tblCallRecordList.getHeight() / 2);
tblCallRecordList.setPlaceholder(pi);

// Clear the table data
searchResults.clear();
tblCallRecordList.setItems(searchResults);

// Run the new search
processSearch();

但是,在运行程序时,TableView永远不会更改,processSearch()方法会立即运行,将旧数据保留在TableView中,直到搜索完成。

如果我注释掉processSearch(),则占位符显示正常。

是否有一些我遗失的奇怪的线程流?

0 个答案:

没有答案