GroupLayout (платформа Java SE 7)

Всяка група може да съдържа произволен брой елементи, където елементът е група, компонент или прекъсване. Прекъсването може да се счита за невидим компонент с минимален предпочитан и максимален размер. Освен това GroupLayout поддържа прекъсване на предпочитанията, чиято стойност идва от LayoutStyle .

Елементите са като извор. Всеки елемент има обхват, дефиниран от минимума, предпочитания и максимума. Прекъсванията имат или дефиниран от разработчика диапазон, или диапазон, дефиниран от LayoutStyle. Обхватът за Component s се определя от методите getMinimumSize, getPreferredSize и getMaximumSize на компонента. Също така, като добавите Component s, можете вместо това да посочите определен диапазон, който да се използва от компонент. Обхватът за група се определя от типа на групата. Обхватът на ParallelGroup е максималният обхват на нейните елементи. Диапазонът на SequentialGroup е сумата от диапазоните на нейните елементи.

GroupLayout обработва всяка ос независимо. По този начин има група, която представлява хоризонталната ос и група, която представлява вертикалната ос. Хоризонталният панел е отговорен за определяне на минималния, предпочитания и максималния размер по хоризонталната ос, както и задаването на х и ширината на съдържащите се в него компоненти. Вертикалният панел е отговорен за определяне на минималния, предпочитан и максимален размер по вертикалната ос, както и задаване на у и височина на компонентите, съдържащи се в него. Всеки компонент трябва да съществува както в хоризонтална, така и във вертикална група, в противен случай се изхвърля IllegalStateException по време на оформлението или когато се изисква минимален, предпочитан или максимален размер.

Следващата диаграма показва последователна група по хоризонталната ос. Последователната група съдържа три компонента. Паралелна група, използвана по вертикалната ос.

максимален размер

Подсилете, че всяка ос се обработва независимо, диаграмата показва обхвата на всяка група и елемент по всяка ос. Обхватът на всеки компонент е проектиран върху ос, а групите са представени в синьо (хоризонтално) и червено (вертикално). За четливост има празнина между всеки от елементите в последователна група.

Последователна група по хоризонталната ос се появява като плътна синя линия. Имайте предвид, че последователната група е сумата от елементите на децата, които тя съдържа.

По вертикалната ос паралелната група е максималната височина на всеки компонент. Тъй като и трите компонента имат еднаква височина, паралелният панел има еднаква височина.

Следващата диаграма показва същите три компонента, но с паралелна група по хоризонталната ос и серийна група по вертикалната ос.

диаграма показва

Тъй като c1 е най-големият от трите компонента, паралелната група се измерва до c1. Тъй като c2 и c3 са по-малки от c1, те се подравняват въз основа на подравняването, посочено за компонента (ако е посочено) или подравняването по подразбиране на паралелната група. В схемата c2 и c3 са създадени с подравняването LEADING. Ако ориентацията на компонента беше отдясно наляво, тогава c2 и c3 ще бъдат разположени на противоположната страна.

Следващата диаграма показва последователна група по хоризонталната и вертикалната ос.

диаграма показва

GroupLayout предоставя възможност за вмъкване на пропуски между Компонентите. Размерът на почивката се определя от екземпляра LayoutStyle. Това може да се обърне с помощта на метода setAutoCreateGaps. По същия начин можете да използвате метода setAutoCreateContainerGaps, за да вмъкнете пролуки между компонентите, които докосват ръба на родителския контейнер и контейнера.

Следните сборки са панел, състоящ се от два етикета в една колона, последвани от две текстови полета в следващата колона: