Как исправить размер окна в Scene Builder? - PullRequest
0 голосов
/ 01 сентября 2018

Я установил максимальную / минимальную ширину / высоту здесь

enter image description here

Но, похоже, это не сработало, я все еще могу изменить размер окна при предварительном просмотре

Ответы [ 2 ]

0 голосов
/ 01 сентября 2018

Значения, которые вы устанавливаете (вероятно) для корня Node. Это не помешает росту или уменьшению Scene или Stage сверх указанных значений. Фактически, в зависимости от корня Node, установка этих значений даже не остановит рост или сжатие Node.

Из Javadoc Scene:

Приложение должно указать корневой узел для графа сцены, установив свойство root. Если в качестве корня используется группа, содержимое графа сцены будет обрезано по ширине и высоте сцены, а изменение размера сцены (если пользователь изменяет размер сцены) не изменит макета графа сцены. Если в качестве корневого узла установлен узел с изменяемым размером (область Region или Control), то размер корневого элемента будет отслеживать размер сцены, вызывая при необходимости ретрансляцию содержимого.

Если вы хотите ограничить размер Stage, вам нужно сделать это в коде, установив соответствующие свойства Stage: minWidth, minHeight, maxWidth и maxHeight. Поскольку вы устанавливаете minWidth = maxWidth и minHeight = maxHeight, было бы лучше использовать Stage.setResizable(false) (как упомянуто в ответ Бернхарда ). Эта опция также предотвращает максимизацию Stage, что не позволяет установка свойств минимального / максимального размера. Хотя на моей машине свойства do останавливают Stage при максимальном росте, но это заставляет Stage перепрыгнуть в верхний левый угол.

Поскольку у вас нет доступа к предварительному просмотру Stage, используемому Scene Builder (насколько я знаю), я не думаю, что вы можете ограничить размер предварительного просмотра. Однако с одной вещью, с которой вы можете иметь дело, является тот факт, что предварительный просмотр Stage при закрытии открывает прежний размер. Я не уверен, почему это поведение по умолчанию / неизменяемое, но я предполагаю , это вызвано использованием одного и того же Stage каждый раз. Чтобы изменить размер Stage до желаемого размера, вы можете перейти по адресу:

Preview -> Preview Size -> Preferred Size (Width x Height)

Screenshot of menu item in Scene Builder

Для этого требуется предварительный просмотр, в противном случае пункт меню отключен.

0 голосов
/ 01 сентября 2018

Вы можете установить .setResizable(false); на вашей сцене, должно помочь.

...