Spec-Zone .ru
спецификации, руководства, описания, API
|
GroupLayout
менеджер по расположению объединился с инструментом разработчика, чтобы разметить Ваш GUI. Один такой инструмент разработчика является IDE NetBeans. Иначе, если Вы хотите кодировать вручную и не хотите использовать GroupLayout
, тогда GridBagLayout
рекомендуется как следующий самый гибкий и мощный менеджер по расположению. Если Вы интересуетесь использованием JavaFX, чтобы создать Ваш GUI, см. Работу С Разметками в JavaFX.
Вот пример последовательности управления расположением для контейнерного использования LayoutManager2
Менеджеры по расположению делают это основанное на обеспеченных ограничениях, свойства контейнера (такие как вставки) и на детских минимальных/привилегированных/максимальных размерах. Если дочерний элемент является самостоятельно контейнером тогда, его собственная кормушка расположения используется, чтобы получить его минимальные/привилегированные/максимальные размеры и разметить его.
Контейнер может быть допустимым (а именно, isValid()
возвращает true), или недопустимый. Для контейнера, чтобы быть допустимыми, дочерние элементы всего контейнера уже должны быть размечены и должны все быть допустимыми также. Container.validate
После того, как компонент создается, это находится в недопустимом состоянии по умолчанию. Window.pack
Конечный результат - то, что, чтобы определить лучший размер для контейнера, система определяет размеры контейнеров у основания иерархии включения. Эти размеры тогда проникают иерархия включения, в конечном счете определяя полный размер контейнера.
Если размер компонента изменяется, например после изменения шрифта, компонент должен быть изменен и перекрашен, вызывая revalidate
и repaint
методы на том компоненте. Оба revalidate
и repaint
Когда Вы вызываете revalidate
на компоненте от запроса отказываются иерархия включения, пока это не встречается с контейнером, таким как область прокрутки или высокоуровневый контейнер, на который не должно влиять изменение размеров компонента. (Это определяется, вызывая контейнер isValidateRoot
метод.) Контейнер тогда размечается, который имеет эффект корректировки размера подтвержденного компонента и размера всех компонентов, на которые влияют.