Новичок в 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 или использовать какие-то обратные вызовы? Должен ли я сделать это в отдельном потоке?