Добавьте слушателя к свойству ширины столбцов. Примерно так:
col.widthProperty().addListener(e->{
if(!running.get()) {
running.set(true);
Runnable task = () -> {
try {Thread.sleep(2000);} catch (InterruptedException exc) { }
Platform.runLater( () -> {
col.setPrefWidth(79);
col.setPrefWidth(80);
});
running.set(false);
System.out.println("done");
};
new Thread(task).start();
}
});
Если для prefWidth просто установлено предыдущее значение, ничего не происходит. Он должен измениться до того, как изменится размер столбца.