Я пытаюсь выполнить поток внутри моего приложения JavaFx, и мне также необходимо обновить мой просмотр списка, поэтому я использовал внутри него Platform.runLater.Проблема в том, что он кажется слишком медленным, так как он переходит в состояние if внутри него.Часть listView.setItems(model.getEmailList());
выполняется без проблем, но игнорирует условие, даже если при печати двух значений я хочу сравнить их, они разные.Как я могу улучшить это?Потому что я не могу переместить это if
за пределы Платформы, так как я пытаюсь отобразить его в потоке моего приложения JavaFX.
new Thread() {
@Override
public void run() {
while (true) {
try {
int currentOnServer = model.askNumbOfEmail();
if (emailForClient != currentOnServer) {
model.reLoadData();
Platform.runLater(() -> {
listView.setItems(model.getEmailList());
if (currentOnServer > emailForClient) {
new Alert(Alert.AlertType.INFORMATION, "Hai recevuto un email!").showAndWait();
}
});
emailForClient = currentOnServer;
}
} catch (IOException ex) {
Thread.currentThread().interrupt();
return;
} catch (ParseException ex) {
System.out.println("ParseException ERROR!");
}
}
}
}.start();