Когда элемент управления сжимается, обычно это хороший признак того, что что-то еще крадет пространство у него. При нормальных условиях Scene
будет запрашивать все узлы-потомки, сколько места ему нужно для визуализации - это то, что prefWidth
и prefHeight
делают.
При наличии ограниченного пространства большинство подклассов Pane
(напомним, что подклассы Pane
управляют своими дочерними элементами на основе определенных правил) будут пытаться уменьшить размер одного или нескольких дочерних элементов. Если вы не хотите, чтобы конкретный Node
уменьшался ниже расчетного размера, то необходимо указать minWidth
и / или minHeight
или установить их на USE_PREF_SIZE
. Установка одного или обоих из них на USE_PREF_SIZE
говорит родителю, что этот узел не должен уменьшаться.
Однако, если вы укажете USE_PREF_SIZE
для всех узлов, то у родителя будут проблемы - ему сказали сжать, но он ничего не смог сжать. Я не знаю точно, что произойдет, но, скорее всего, весь пользовательский интерфейс будет выглядеть странно.