Изменение размера метки JavaFX при переполнении

У меня есть Метка в GridPane в TitledPane. Я хочу, чтобы он постепенно уменьшался на 0,05 мкм, если он переполнен, поэтому три точки («Длинная метка ...») не отображаются -> «Длинная метка» в маленьком значении.

IsOverrun () - метод для Label был бы хорош, но JavaFX этого не обеспечивает, и жизнь не является идеей для желающих.
Так что мой обходной путь пока что





    Bounds tpBounds = tPane.getBoundsInLocal();
    Bounds lblBounds = label.getBoundsInLocal();
    Double fontSize = 1.0;

    while (tpBounds.getWidth() < lblBounds.getWidth() && fontSize > 0.5) {
        fontSize = fontSize-0.05;
        label.setStyle("-fx-font-size: "+fontSize+"em;");

        System.out.println(fontSize+" "+tpBounds.getWidth()+" "+lblBounds.getWidth());
    }

Проблема: во время цикла while bounds.getWidth () всегда показывает исходную ширину. «Новая» ширина с новым размером шрифта не обновляется достаточно быстро, чтобы быть пойманной условием while, поэтому размер шрифта становится все меньше и меньше.
Любые решения?

редактировать
Я спрашиваю чаще: действительно ли это сложно сделать ярлык сам по себе, пока он не уместится без усечения ?!