Что вызывает изменение? Если текст связан с некоторым значением объекта, you could use binding, чтобы получить автоматическое обновление GUI при изменении значения объекта.
В качестве альтернативы вы можете попробовать сделать это вручную. См. Приведенный ниже код (упрощенно - вам, вероятно, необходимо очистить список при запуске runnables, чтобы избежать их запуска дважды - в этом случае вам нужно иметь дело с проблемами параллелизма и т. Д.):
ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
final List<Runnable> list = new CopyOnWriteArrayList<Runnable>(); //your updates
Runnable updateGui = new Runnable() {
@Override
public void run() {
Platform.runLater(new Runnable() {
@Override
public void run() {
for (Runnable r : list) {
r.run();
}
}
});
}
};
scheduler.scheduleAtFixedRate(updateGui, 0, 1, TimeUnit.SECONDS);
list.add(new Runnable() {
@Override
public void run() {
priceLabel.setText(price);
}
});