javafx динамически заполнять список

Новичок в Javafx здесь. Мне нужна помощь с лучшим способом заполнения списка. Вот моя установка..

Я разрабатываю инструмент пользовательского интерфейса, который должен отслеживать количество виртуальных машин, работающих в моей среде. Я получаю обратный вызов всякий раз, когда машина подходит или выходит из строя. Как обновить список на основе этих данных. Код контроллера -

public class MainOverviewController implements Initializable
{
    @FXML
    private ListView<String> devicesListView; // Points to the listview

    @Override
    public void initialize(URL location, ResourceBundle resources) {

    ObservableList<String> items = FXCollections.observableArrayList("Machines connected");

    devicesListView.setItems(items);

    ...
}

Код обратного вызова, где я получаю уведомления о виртуальной машине -

class VMChangeListener extends vmlistener
{
...

@Override
public void vmStarted(VM vm)
{
    vms.add(vm);
}

@Override
public void vmDisconnected(VM vm)
{
    vms.remove(vm);
}

Теперь мой вопрос: как лучше всего обновить наблюдаемый список, элементы из функций vmStarted и vmDisconnected. Я мог бы передать наблюдаемый список в VMChangeListener или использовать какие-то обратные вызовы? Должен ли я сделать это в отдельном потоке?


person padlar    schedule 14.07.2015    source источник