Фиксированная сетка в процентах с MiGLayout - PullRequest
1 голос
/ 12 марта 2012

Я пытаюсь создать сетку с MiGLayout, которая применяется к его дочерним элементам.Это означает, что если я вставлю дочерний элемент в положение сетки (1,1), а размер сетки будет [10%!], Этот дочерний элемент НЕ должен быть больше и перекрывать другие ячейки.Ребенок должен быть уменьшен, чтобы соответствовать ячейке таблицы.

Это то, что у меня есть до сих пор:

new MigPane("", "[5%!][20%!][5%!][65%!][5%!]", "[45%!][50%!][5%!]");

Теперь я вставляю большой компонент (изображение, которое я не могу контролировать) в Grid 1,1, например:

migPane.add(myImageView, "cell 1 1, width 100%!");

Однако это, похоже, совсем не ограничивает ImageView.

Как мне сообщить MiGLayout, что я хочу, чтобы «myImageView»положить в сетку 1,1 и размер его вписывается?Есть ли подходящее ключевое слово?:)

Обратите внимание, что указание чего-либо с пикселями / точками / мм / см / дюймами - это НЕ то, что я хочу.Мое приложение всегда работает в полноэкранном режиме и должно масштабироваться плавно (это не традиционное приложение для форм, это видеосистема, использующая JavaFX).

1 Ответ

0 голосов
/ 12 марта 2012

Похоже, проценты поддерживаются, согласно документам :

Переопределяет размер компонента по умолчанию, установленный пользовательским интерфейсом. делегировать или разработчиком явно на компоненте. Размер указано как BoundSize. См. Раздел «Типы общих аргументов» выше. для объяснения. Обратите внимание, что выражения поддерживаются, и вы можете для экземпляр устанавливает размер для компонента с «width pref + 10px», чтобы сделать это на 10 пикселей больше, чем обычно, или "ширина максимальная (100, 10%)", чтобы сделать его 10% ширины контейнера, но не более 100 пикселей.

Может быть, попробовать что-то вроде: "width max(100%, 100%)".

...