2013-07-11 2 views
0

ObservableList에서 지원하는 ListView가있는 javafx 응용 프로그램을 개발 중입니다.ObservableList를 업데이트 할 때 스레드가 멈 춥니 다.

ObservableList는이 데이터로 업데이트된다
@FXML 
private ListView<String> taggedQueriesResultsList; 
private ObservableList<String> searchResultsList = FXCollections.observableArrayList(); 

, Executors.newSingleThreadScheduledExecutor()를 사용하여 예약 된 작업으로 list.add("something") 말한다. 그러나 예약 된 작업은 처음으로 실행되지 않습니다. 처음 실행 한 후에 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); 
관련 문제