Проблема в том, что вы обновляете значение метки, когда находитесь в потоке пользовательского интерфейса. JavaFX работает с моделью, в которой обновления выполняются на каждом тике (60 кадров в секунду). Все выполненные обновления видны только после завершения кода вашего Eventhander.
Кроме того, учитывая, что это длительное задание, это приведет к не отвечающему пользовательскому интерфейсу.
Вы должны использовать Worker
, чтобы выполнить долгосрочную задачу. См. Учебник по асинхронной обработке. Обратите внимание, что это не гарантирует, что вы увидите все значения, поскольку рабочий может быть быстрее обновлений пользовательского интерфейса, и система объединит эти обновления.