Java 更新ObservableList时线程挂起
我正在开发一个javafx应用程序,它有一个由ObservableList支持的ListViewJava 更新ObservableList时线程挂起,java,javafx,Java,Javafx,我正在开发一个javafx应用程序,它有一个由ObservableList支持的ListView @FXML private ListView<String> taggedQueriesResultsList; private ObservableList<String> searchResultsList = FXCollections.observableArrayList(); @FXML private ListView taggedQueriesResults
@FXML
private ListView<String> taggedQueriesResultsList;
private ObservableList<String> searchResultsList = FXCollections.observableArrayList();
@FXML
private ListView taggedQueriesResultsList;
私有ObservableList searchResultsList=FXCollections.observableArrayList();
ObservableList由计划任务使用执行器更新数据,例如列表。添加(“某物”)
。newSingleThreadScheduledExecutor()。但是,计划的任务在第一次之后不会运行。用户界面在第一次运行后更新。我注意到,如果我注释掉行list.add(“某物”)
任务将按计划定期运行
我认为这是一些同步问题,但不确定。请帮助我了解发生了什么以及如何解决问题。确保始终从应用程序线程更新GUI。看
有关线程安全的可观察集合,请参见此处:创建同步可观察列表的示例:
newSeries = new XYChart.Series<>();
ObservableList<XYChart.Data<Number, Number>> listaSerie;
listaSerie = FXCollections.synchronizedObservableList(FXCollections.observableList(new ArrayList<XYChart.Data<Number, Number>>()));
newSeries.setData(listaSerie);
newSeries=new XYChart.Series();
可观察列表;
listaSerie=FXCollections.synchronizedObservableList(FXCollections.observableList(newArrayList());
setData(listaSerie);
c#是执行速度快、线程安全的可观察集合的第二个链接。这个问题是关于java的。