2013-07-11 31 views
0

我正在开发一个javafx应用程序,它具有ObservableList支持的ListView。更新时线程挂起ObservableList

@FXML 
private ListView<String> taggedQueriesResultsList; 
private ObservableList<String> searchResultsList = FXCollections.observableArrayList(); 

的ObservableList与数据更新,说list.add("something"),通过使用Executors.newSingleThreadScheduledExecutor()计划任务。但是,计划的任务从未在第一次后运行。 UI在第一次运行后更新。我注意到,如果我注释掉行list.add("something"),任务按计划周期性运行。

我认为这是一些同步问题,但不确定。请帮助我了解正在发生的事情以及如何解决问题。

回答

0

在其中创建同步可观察名单的一个例子:

newSeries = new XYChart.Series<>(); 
ObservableList<XYChart.Data<Number, Number>> listaSerie; 
listaSerie = FXCollections.synchronizedObservableList(FXCollections.observableList(new ArrayList<XYChart.Data<Number, Number>>())); 
newSeries.setData(listaSerie);